我使用默认的localhost创建了一个django Web应用程序,但是我试图在服务器上设置它,以便我可以配置postgre数据库并继续,而不必在以后重做数据库。
我通过数字海洋ubuntu 14液滴托管该网站。当我创建了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'?
我不是百分百肯定,但似乎枪炮在这一点上没有提供任何东西(或者甚至没有)。
有关成功绑定此应用程序的任何建议吗?
好吧,这不是你用gunicorn引用WSGI文件的方式。见the docs:
模块名称可以是完整的虚线路径。变量名称是指应在指定模块中找到的WSGI可调用对象。
因此,如果您的wsgi.py文件位于GenericRestaurantSystem / wsgi.py中,那么您的命令应该是
gunicorn -b 127.0.0.1:8000 GenericRestaurantSystem.wsgi:application
我想它应该是
gunicorn GenericRestaurantSystem.wsgi:application
对我来说这个工作就像魅力:)
cd ~/myproject
gunicorn —bind 0.0.0.0:8000 myproject.wsgi:application
我有同样的问题,并得到它与此工作:
gunicorn -b 127.0.0.1:8000 wsgi:application
我把wsgi.py
文件放在与manage.py
相同的级别。