繁体   English   中英

如何让Uwsgi使用w(django)

[英]How to get Uwsgi working with wagtail (django)

我试图跟上w。 我正在远程服务器上运行它。 我已经安装了虚拟环境,然后按照以下步骤切换到虚拟环境并安装了ag: http : //docs.wagtail.io/en/v1.9/getting_started/tutorial.html

  1. pip install wagtail
  2. wagtail start rocker
  3. cd rocker
  4. pip install -r requirements.txt
  5. python manage.py migrate
  6. python manage.py createsuperuser

该指南的下一步是通过运行以下命令来测试安装是否正常:

python manage.py runserver

我无法像使用远程服务器那样执行此操作,并且服务器上已经运行了Django应用(使用uwsgi)。

因此,我现在正尝试通过uwsgi连接到该Wagtail应用。

使用将现有应用程序启动的字符串作为模板,我对其进行了修改,以将套接字绑定到to应用程序:-

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:SECRET_KEY设置不能为空。

我对此进行了研究,发现此Django:不正确配置:SECRET_KEY设置不能为空 ,这建议添加

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "project_name.settings.local")

在我做的manage.py中。 这没有解决任何问题。

我还发现了django.core.exceptions.ImproperlyConfigured:SECRET_KEY设置不能为空 ,这表示您需要在settings.py指定的秘密密钥

但是在wagtail项目中没有settings.py

我创建了一个,并添加了一个秘密密钥,但仍然出现错误。

有人可以建议我如何解决此问题,以便我可以运行uwsgi连接到the,并测试其是否有效。

谢谢

在Wagtail基础项目结构中, settings.pysettings目录中分为多个文件-有关详细信息,请参见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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM