簡體   English   中英

Django,uwsgi和nginx - 內部服務器錯誤

[英]Django, uwsgi and nginx - Internal Server Error

我是python的新手,正在開發我的第一個django項目。 我按照教程。 我設法配置所有的東西,但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 <module>
    application = get_wsgi_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", line 16, in <module>

在這里你應該看到./api/wsgi.py ,而不是./wsgi.py

顯然,uWSGI的工作目錄是api/目錄,而它應該是父目錄。

通常,您的uWSGI配置文件應如下所示:

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

另請參閱有關uWSGIDjango文檔

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM