微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python – Django,uwsgi和nginx – 内部服务器错误

我是python的新手,正在开发我的第一个django项目.我按照this教程.我设法配置所有的东西,但django应用程序本身.如果我单独运行django服务器,它会起作用,但是当由uwsgi启动时它不起作用.

这是我的uwsgi conf:

import os

from django.core.wsgi import get_wsgi_application

os.environ.setdefault("DJANGO_SETTINGS_MODULE","api.settings")

application = get_wsgi_application()

来自uwsgi日志的错误

--- no python application found,check your startup logs for errors ---

所以我查找了启动错误

Traceback (most recent call last):
  File "./wsgi.py",line 16,in sgi_application()
  File "/var/www/api.partycon.net/virtualpy/local/lib/python2.7/site-packages/django/core/wsgi.py",line 14,in get_wsgi_application
    django.setup()
  File "/var/www/api.partycon.net/virtualpy/local/lib/python2.7/site-packages/django/__init__.py",line 17,in setup
    configure_logging(settings.LOGGING_CONfig,settings.LOGGING)
  File "/var/www/api.partycon.net/virtualpy/local/lib/python2.7/site-packages/django/conf/__init__.py",line 48,in __getattr__
    self._setup(name)
  File "/var/www/api.partycon.net/virtualpy/local/lib/python2.7/site-packages/django/conf/__init__.py",line 44,in _setup
    self._wrapped = Settings(settings_module)
  File "/var/www/api.partycon.net/virtualpy/local/lib/python2.7/site-packages/django/conf/__init__.py",line 92,in __init__
    mod = importlib.import_module(self.SETTINGS_MODULE)
  File "/usr/lib/python2.7/importlib/__init__.py",line 37,in import_module
    __import__(name)
ImportError: No module named api.settings

我的项目很糟糕:

.
|-- api
|   |-- __init__.py
|   |-- __init__.pyc
|   |-- media
|   |   `-- sample-media.jpg
|   |-- settings.py
|   |-- settings.pyc
|   |-- urls.py
|   |-- urls.pyc
|   |-- wsgi.py
|   `-- wsgi.pyc
|-- db.sqlite3
|-- manage.py
|-- static
|   `-- admin
|       ... ... ... ...
|-- uwsgi_conf.ini
`-- uwsgi_params

我希望我提供了足够的信息,但我可以告诉你更多 – 问题是我实际上不知道在哪里看.

提前致谢 :)

最佳答案
您可能在uwsgi_conf.ini中缺少chdir行.或者,可能,你有一个chdir线,但它是错误的.

回溯证实了这一点:

File "./wsgi.py",in 

在这里你应该看到./api/wsgi.py,而不是./wsgi.py.

显然,uWsgi的工作目录是api /目录,而它应该是父目录.

通常,您的uWsgi配置文件应如下所示:

[uwsgi]
chdir=/path/to/your/project
module=mysite.wsgi:application
...

另见Django documentation on uWSGI.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐