Gunicorn无法识别Wagtail CMS

0 投票
1 回答
872 浏览
提问于 2025-04-18 09:07

我正在把我的网站从Mezzanine迁移到Wagtail,这个过程是在一台使用virtualenv的Debian机器上进行的。但是在我设置好Wagtail、用户权限和源代码后,当我在wagtail文件夹里运行# gunicorn_django时,出现了以下错误信息:

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.

据我所知,我的设置跟之前的Mezzanine没有什么不同,而且我知道Wagtail也是基于Django的。有人知道问题可能出在哪里吗?

1 个回答

4

gunicorn_django 从 Gunicorn 18 版本开始就不再推荐使用了。如果可以的话,建议你使用 WSGI 接口来配合 Django。具体可以查看 Django 和 Gunicorn 的文档

不过,如果你还是在使用 gunicorn_django,并且你的设置不在 settings.py 文件里,而是在其他模块中,那么你可以通过指定相关设置文件的路径来让它正常工作。比如,在你的 mywagtailproject 文件夹里,设置文件可能是 mywagtailproject/settings/production.py(注意,你的 mywagtailproject 文件夹里会有一个同名的 mywagtailproject 子文件夹):

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

你可能需要设置 --pythonpath 这个参数,也可能不需要。

撰写回答