如何让 Uwsgi 与 wagtail (django) 一起工作
How to get Uwsgi working with wagtail (django)
我正在努力跟上鹡鸰的速度。我 运行 在远程服务器上安装它。我已经安装了一个虚拟环境,然后我切换到虚拟环境并按照这里的步骤安装了 wagtail:http://docs.wagtail.io/en/v1.9/getting_started/tutorial.html
pip install wagtail
wagtail start rocker
cd rocker
pip install -r requirements.txt
python manage.py migrate
python manage.py createsuperuser
指南中的下一步是通过 运行ning 测试安装是否有效:
python manage.py runserver
我无法使用远程服务器执行此操作,而且服务器上已经有一个 Django 应用程序 运行ning(使用 uwsgi)。
所以我现在正尝试通过 uwsgi 连接到这个 wagtail 应用程序。
使用启动现有应用程序的字符串作为模板,我修改了它以将套接字绑定到 wagtail 应用程序:-
uwsgi --chdir=/opt/rocker/rocker --module=rocker.wsgi:application --env DJANGO_SETTINGS_MODULE=rocker.settings --master --pidfile=/tmp/rocker.pid --socket=/opt/rocker/core.sock --processes=5 --uid=www-data --gid=www-data --harakiri=20 --max-requests=5000 --vacuum --home=/opt/rocker --daemonize=/var/log/uwsgi/rocker.logroot@caspium:/etc/init.d#
但是应用程序没有启动...uwsgi 日志中的错误说明如下:-
*** Operational MODE: preforking ***
Traceback (most recent call last):
File "./rocker/wsgi.py", line 18, in <module>
application = get_wsgi_application()
File "/opt/rocker/local/lib/python2.7/site-packages/django/core/wsgi.py", line 13, in get_wsgi_application
django.setup(set_prefix=False)
File "/opt/rocker/local/lib/python2.7/site-packages/django/__init__.py", line 22, in setup
configure_logging(settings.LOGGING_CONFIG, settings.LOGGING)
File "/opt/rocker/local/lib/python2.7/site-packages/django/conf/__init__.py", line 53, in __getattr__
self._setup(name)
File "/opt/rocker/local/lib/python2.7/site-packages/django/conf/__init__.py", line 41, in _setup
self._wrapped = Settings(settings_module)
File "/opt/rocker/local/lib/python2.7/site-packages/django/conf/__init__.py", line 116, in __init__
raise ImproperlyConfigured("The SECRET_KEY setting must not be empty.")
**django.core.exceptions.ImproperlyConfigured: The SECRET_KEY setting must not be empty.**
unable to load app 0 (mountpoint='') (callable not found or import error)
*** no app loaded. going in full dynamic mode ***
*** uWSGI is running in multiple interpreter mode ***
spawned uWSGI master process (pid: 4617)
spawned uWSGI worker 1 (pid: 4622, cores: 1)
spawned uWSGI worker 2 (pid: 4623, cores: 1)
spawned uWSGI worker 3 (pid: 4624, cores: 1)
spawned uWSGI worker 4 (pid: 4625, cores: 1)
spawned uWSGI worker 5 (pid: 4626, cores: 1)
django.core.exceptions.ImproperlyConfigured: The SECRET_KEY setting
must not be empty.
我对此进行了研究,发现 Django: ImproperlyConfigured: The SECRET_KEY setting must not be empty 建议添加
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "project_name.settings.local")
在 manage.py
中,我做到了。这没有解决任何问题。
我还发现了这个 ,它说你需要一个在 settings.py
中指定的密钥
然而wagtail项目中没有settings.py
我创建了一个并添加了一个密钥,但仍然出现错误。
有人可以建议我如何解决这个问题,这样我就可以 运行 uwsgi 连接到 wagtail,并测试它是否正常工作。
谢谢
在 Wagtail 基础项目结构中,settings.py
被拆分为 settings
目录中的几个文件 - 有关详细信息,请参阅 http://docs.wagtail.io/en/v1.9/reference/project_template.html#django-settings。放置 SECRET_KEY
的最佳位置是 settings/local.py
,因为您希望它不受版本控制。
问题出在以下文件中:
/opt/rocker/local/lib/python2.7/site-packages/django/conf/global_settings.py
这里指定了一个Secret Key = ''
。
我添加了一个密钥,并且应用程序 运行 可以与 Uwsgi
经过这么多次尝试后对我有用的是删除整个 settings/
文件夹并创建一个适当的 settings.py
文件。如果来自@Wagtail 的你们想要分开设置...你可以这样做 https://simpleisbetterthancomplex.com/tips/2016/11/01/django-tip-19-protecting-sensitive-information.html
我正在努力跟上鹡鸰的速度。我 运行 在远程服务器上安装它。我已经安装了一个虚拟环境,然后我切换到虚拟环境并按照这里的步骤安装了 wagtail:http://docs.wagtail.io/en/v1.9/getting_started/tutorial.html
pip install wagtail
wagtail start rocker
cd rocker
pip install -r requirements.txt
python manage.py migrate
python manage.py createsuperuser
指南中的下一步是通过 运行ning 测试安装是否有效:
python manage.py runserver
我无法使用远程服务器执行此操作,而且服务器上已经有一个 Django 应用程序 运行ning(使用 uwsgi)。
所以我现在正尝试通过 uwsgi 连接到这个 wagtail 应用程序。
使用启动现有应用程序的字符串作为模板,我修改了它以将套接字绑定到 wagtail 应用程序:-
uwsgi --chdir=/opt/rocker/rocker --module=rocker.wsgi:application --env DJANGO_SETTINGS_MODULE=rocker.settings --master --pidfile=/tmp/rocker.pid --socket=/opt/rocker/core.sock --processes=5 --uid=www-data --gid=www-data --harakiri=20 --max-requests=5000 --vacuum --home=/opt/rocker --daemonize=/var/log/uwsgi/rocker.logroot@caspium:/etc/init.d#
但是应用程序没有启动...uwsgi 日志中的错误说明如下:-
*** Operational MODE: preforking ***
Traceback (most recent call last):
File "./rocker/wsgi.py", line 18, in <module>
application = get_wsgi_application()
File "/opt/rocker/local/lib/python2.7/site-packages/django/core/wsgi.py", line 13, in get_wsgi_application
django.setup(set_prefix=False)
File "/opt/rocker/local/lib/python2.7/site-packages/django/__init__.py", line 22, in setup
configure_logging(settings.LOGGING_CONFIG, settings.LOGGING)
File "/opt/rocker/local/lib/python2.7/site-packages/django/conf/__init__.py", line 53, in __getattr__
self._setup(name)
File "/opt/rocker/local/lib/python2.7/site-packages/django/conf/__init__.py", line 41, in _setup
self._wrapped = Settings(settings_module)
File "/opt/rocker/local/lib/python2.7/site-packages/django/conf/__init__.py", line 116, in __init__
raise ImproperlyConfigured("The SECRET_KEY setting must not be empty.")
**django.core.exceptions.ImproperlyConfigured: The SECRET_KEY setting must not be empty.**
unable to load app 0 (mountpoint='') (callable not found or import error)
*** no app loaded. going in full dynamic mode ***
*** uWSGI is running in multiple interpreter mode ***
spawned uWSGI master process (pid: 4617)
spawned uWSGI worker 1 (pid: 4622, cores: 1)
spawned uWSGI worker 2 (pid: 4623, cores: 1)
spawned uWSGI worker 3 (pid: 4624, cores: 1)
spawned uWSGI worker 4 (pid: 4625, cores: 1)
spawned uWSGI worker 5 (pid: 4626, cores: 1)
django.core.exceptions.ImproperlyConfigured: The SECRET_KEY setting must not be empty.
我对此进行了研究,发现 Django: ImproperlyConfigured: The SECRET_KEY setting must not be empty 建议添加
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "project_name.settings.local")
在 manage.py
中,我做到了。这没有解决任何问题。
我还发现了这个 settings.py
然而wagtail项目中没有settings.py
我创建了一个并添加了一个密钥,但仍然出现错误。
有人可以建议我如何解决这个问题,这样我就可以 运行 uwsgi 连接到 wagtail,并测试它是否正常工作。
谢谢
在 Wagtail 基础项目结构中,settings.py
被拆分为 settings
目录中的几个文件 - 有关详细信息,请参阅 http://docs.wagtail.io/en/v1.9/reference/project_template.html#django-settings。放置 SECRET_KEY
的最佳位置是 settings/local.py
,因为您希望它不受版本控制。
问题出在以下文件中:
/opt/rocker/local/lib/python2.7/site-packages/django/conf/global_settings.py
这里指定了一个Secret Key = ''
。
我添加了一个密钥,并且应用程序 运行 可以与 Uwsgi
经过这么多次尝试后对我有用的是删除整个 settings/
文件夹并创建一个适当的 settings.py
文件。如果来自@Wagtail 的你们想要分开设置...你可以这样做 https://simpleisbetterthancomplex.com/tips/2016/11/01/django-tip-19-protecting-sensitive-information.html