0

我正在使用 virtualenv 将我的网站从 Mezzanine 迁移到在 Debian 机器上运行的Wagtail,但是在设置 Wagtail、用户权限和源之后,当我# gunicorn_django在 wagtail 文件夹中运行时,我收到以下错误消息:

Traceback (most recent call last):
  File "/home/user/userblog/local/lib/python2.7/site-packages/gunicorn/arbiter.py", line 495, in spawn_worker
    worker.init_process()
  File "/home/user/userblog/local/lib/python2.7/site-packages/gunicorn/workers/base.py", line 106, in init_process
    self.wsgi = self.app.wsgi()
  File "/home/user/userblog/local/lib/python2.7/site-packages/gunicorn/app/base.py", line 114, in wsgi
    self.callable = self.load()
  File "/home/user/userblog/local/lib/python2.7/site-packages/gunicorn/app/djangoapp.py", line 102, in load
    make_default_env(self.cfg)
  File "/home/user/userblog/local/lib/python2.7/site-packages/gunicorn/app/djangoapp.py", line 62, in make_default_env
    raise RuntimeError("django project not found")
RuntimeError: django project not found
Traceback (most recent call last):
  File "/home/user/userblog/local/lib/python2.7/site-packages/gunicorn/arbiter.py", line 495, in spawn_worker
    worker.init_process()
  File "/home/user/userblog/local/lib/python2.7/site-packages/gunicorn/workers/base.py", line 106, in init_process
    self.wsgi = self.app.wsgi()
  File "/home/user/userblog/local/lib/python2.7/site-packages/gunicorn/app/base.py", line 114, in wsgi
    self.callable = self.load()
  File "/home/user/userblog/local/lib/python2.7/site-packages/gunicorn/app/djangoapp.py", line 102, in load
    make_default_env(self.cfg)
  File "/home/user/userblog/local/lib/python2.7/site-packages/gunicorn/app/djangoapp.py", line 62, in make_default_env
    raise RuntimeError("django project not found")
RuntimeError: django project not found
2014-06-09 10:41:27 [2774] [INFO] Worker exiting (pid: 2774)
2014-06-09 10:41:28 [2769] [INFO] Shutting down: Master
2014-06-09 10:41:28 [2769] [INFO] Reason: Worker failed to boot.

据我所知,我所做的与夹层设置没有什么不同,而且我知道 Wagtail 也是基于 Django 的。有谁知道问题可能出在哪里?

4

1 回答 1

4

gunicorn_django 自Gunicorn 18 以来已被弃用。如果可能的话,你应该在 Django 中使用 WSGI 接口。请参阅带有 Gunicorn 文档的 Django

但是,也就是说,当使用gunicorn_django时,设置不在settings.py中,而是在模块中,您应该能够通过指定相关设置文件的虚线路径来使其工作 - 例如在您mywagtailproject的文件夹中,mywagtailproject/settings/production.py文件(请注意,您的 mywagtailproject 文件夹将有一个同名的 mywagtailproject 子文件夹):

gunicorn_django --settings=mywagtailproject.settings.production --pythonpath=/pathto/mywagtailproject

您可能需要也可能不需要设置--pythonpath参数。

于 2014-06-09T14:29:28.937 回答