Gunicorn不会绑定我的应用程序

时间:2014-11-13 15:30:36

标签: python django nginx gunicorn

我使用默认的localhost创建了一个django Web应用程序,但是我尝试在服务器上进行设置,以便我可以配置postgre数据库并继续操作,而不必在以后重做数据库。

我通过数字海洋ubuntu 14 Droplet托管该网站。当我创建了Droplet时,我选择了它已预先配置为django。它使用nginx和gunicorn来托管网站。

当我第一次创建服务器实例时,基本的django应用程序被配置为处理给定的IP。它确实如此。

我尝试将我的项目克隆到与该项目相同的目录中,假设它将存在于python路径('/ home / project')上,并将nginx配置为每个我发现的一些文档提供127.0.0.1:8000 。

我认为问题在于我试图束缚炮弹。这个输入我得到以下错误。

  

gunicorn -b 127.0.0.1:8000 GenericRestaurantSystem / wsgi.py:application

ImportError: Failed to find application, did you mean 'program/wsgi:application'?

我不是百分百肯定,但似乎枪炮在这一点上没有提供任何东西(或者甚至没有)。

有关成功绑定此应用程序的任何建议吗?

5 个答案:

答案 0 :(得分:25)

那不是你用gunicorn引用WSGI文件的方式。见the docs

  

模块名称可以是完整的虚线路径。变量名称是指应在指定模块中找到的WSGI可调用项。

因此,如果你的wsgi.py文件在GenericRestaurantSystem / wsgi.py中,那么你的命令应该是

gunicorn -b 127.0.0.1:8000 GenericRestaurantSystem.wsgi:application

答案 1 :(得分:6)

我想它应该是

gunicorn GenericRestaurantSystem.wsgi:application

答案 2 :(得分:1)

对我而言,这项工作就像魅力:)

cd ~/myproject
gunicorn —bind 0.0.0.0:8000 myproject.wsgi:application

答案 3 :(得分:1)

我遇到了同样的问题并且可以使用它:

gunicorn -b 127.0.0.1:8000 wsgi:application

我将wsgi.py文件放在与manage.py相同的级别。

答案 4 :(得分:0)

在根you_django_name_project“ main.py”中创建文件:

from you_django_name_project.wsgi import application
app = application

然后运行:

gunicorn -b 127.0.0.1:8000 main:app