Python Gunicorn不';不能识别摇尾CMS

Python Gunicorn不';不能识别摇尾CMS,python,django,debian,gunicorn,wagtail,Python,Django,Debian,Gunicorn,Wagtail,我正在使用virtualenv将我的网站从Mezzanine迁移到Debian机器上运行,但在设置Wagtail、用户权限和源代码后,当我在Wagtail文件夹中运行\gunicorn\u django时,我收到以下错误消息: Traceback (most recent call last): File "/home/user/userblog/local/lib/python2.7/site-packages/gunicorn/arbiter.py", line 495, in spaw

我正在使用virtualenv将我的网站从Mezzanine迁移到Debian机器上运行,但在设置Wagtail、用户权限和源代码后,当我在Wagtail文件夹中运行
\gunicorn\u 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.
据我所知,我没有做什么不同于我的夹层设置,我知道Wagtail也是基于Django的。有人知道问题出在哪里吗?

gunicorn_django在哪里。如果可能,您应该将WSGI接口与Django一起使用。看

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

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

gunicorn\u django是。如果可能,您应该将WSGI接口与django一起使用。请参阅

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


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

谢谢您的回答,我开始理解这个问题,但是我如何在我的pythonpath上获得这个项目呢?我现在得到了错误
没有名为wagtaildemo.settings.production的模块,我不知道如何让它知道在哪里查找这些数据production.py文件确实存在于
pathto/wagtail/wagtail/settings/
文件夹中。如果您将项目称为“wagtail”,则会出现问题,因为这会混淆python的路径搜索,因为wagtail应用程序(安装在带有pip的站点包中)被称为wagtail。您希望您的项目被称为其他名称-例如wagtaildemo。在这种情况下,需要有一个包含设置目录的同名子目录。即,如果production.py的路径为
pathto/wagtaildemo/wagtaildemo/settings
,则python将找到模块
wagtaildemo.setting.production。它没有命名为wagtail,可能是一个不好的示例,它确实命名为wagtaildemo(文件夹)但是文件夹是否意味着项目的名称?或者是否有一些变量用于设置项目名称?谢谢!文件夹的名称就是项目的名称。当项目启动时,会为设置、URL和wsgi文件创建一个同名的子目录。如果您的项目位于
/pathto/wagtaildemo
,您应该有de>/pathto/wagtaildemo/wagtaildemo/settings/production.py
。如果是这样的话,从
/pathto/wagtaildemo
运行时应该可以工作:
gunicorn\u django--settings=wagtaildemo.settings.production--pythonpath=/pathto/wagtaildemo
,如果没有,很难说您的特定设置有什么问题-没有任何问题Wagtail特定于Gunicorn设置。请尝试将其作为WSGI应用程序在Gunicorn下运行。如果/当您升级到Gunicorn>=18,您将发现您仍然可以使用
Gunicorn\u django
。这与运行dev.py设置相当:
Gunicorn wagtaildemo.WSGI:application
使用producti运行Wagtail在设置中,您可以创建另一个使用production.py的wsgi文件:
cp wagtaildemo/wsgi.py wagtaildemo/wsgi_production.py;perl-pi-e“s/(wagtaildemo.settings)/\1.production/”wagtaildemo/wsgi_production.py
然后运行gunicorn:
gunicorn wagtaildemo.wsgi_production:application
谢谢你的回答,我开始理解这个问题了,但是我该如何在我的pythonpath上获得这个项目呢?我现在得到了错误
没有名为wagtaildemo.settings.production的模块,我没有了解如何让它知道在何处查找此数据。production.py文件确实存在于
pathto/wagtail/wagtail/settings/
文件夹中。如果您将项目称为“wagtail”,则会出现问题,因为这会混淆python的路径搜索,因为wagtail应用程序(安装在带有pip的站点包中)被称为wagtail。您希望您的项目被称为其他名称-例如wagtaildemo。在这种情况下,需要有一个包含设置目录的同名子目录。即,如果production.py的路径为
pathto/wagtaildemo/wagtaildemo/settings
,则python将找到模块
wagtaildemo.setting.production。它没有命名为wagtail,可能是一个不好的示例,它确实命名为wagtaildemo(文件夹)但是文件夹是否意味着项目的名称?或者是否有一些变量用于设置项目名称?谢谢!文件夹的名称就是项目的名称。当项目启动时,会为设置、URL和wsgi文件创建一个同名的子目录。如果您的项目位于
/pathto/wagtaildemo
,您应该有de>/pathto/wagtaildemo/wagtaildemo/settings/production.py
。如果是这样的话,从
/pathto/wagtaildemo
运行时应该可以工作:
gunicorn\u django--settings=wagtaildemo.settings.production--pythonpath=/pathto/wagtaildemo
,如果没有,很难说您的特定设置有什么问题-没有任何问题有关Gunicorn安装程序的详细信息。请尝试将其作为WSGI应用程序在Gunicorn下运行。如果/当您升级到Gunicorn>=18,您将发现您仍然可以使用
Gunicorn\u django
。这与运行dev.py设置相当:
g
gunicorn_django --settings=mywagtailproject.settings.production --pythonpath=/pathto/mywagtailproject