[英]nginx django 502 bad gateway
我正在使用uWSGI和Nginx為我的Django網站(1.4版本)提供服務。 我的文件結構是django_mysite / django_mysite /,其中有一個wsgi.py文件。
我一直收到502 Bad gateway錯誤。 我有其他服務器運行nginx,他們工作正常。
我的nginx配置:
server {
listen 80;
server_name beta.example.com;
keepalive_timeout 70;
root /path/to/django_mysite/django_mysite;
location root {
root html;
uwsgi_pass localhost:9000;
uwsgi_param UWSGI_SCRIPT django_wsgi;
include uwsgi_params;
}
location / {
uwsgi_pass localhost:9000;
include uwsgi_params;
uwsgi_param SCRIPT_NAME /django;
uwsgi_param UWSGI_SCRIPT django_wsgi;
uwsgi_modifier1 30;
}
}
我的wsgi.py文件:import sys import os
sys.path.append('/path/to/django_mysite/')
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "django_mysite.settings")
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
日志中的錯誤是:
*3 recv() failed (104: Connection reset by peer) while reading response header from upstream
謝謝
我找到的解決方案是這樣的:我創建uwsgi工作者的uwsgi.ini文件沒有指定套接字。 所以我創建了另一個.ini文件並為它創建了一個套接字。 我放入uwsgi_pass下的nginx conf文件中的那個套接字。 這是django用於配置uwsgi的網頁的鏈接。
https://docs.djangoproject.com/en/dev/howto/deployment/wsgi/uwsgi/
我面臨着同樣的問題,但我以下列的方式將其搞定了。
如果您的項目中包含第三方應用程序,那么它應該安裝在您的服務器上,就像南方是第三方應用程序。 考慮在您的settings.py文件中包含south,然后南也應該安裝在您的服務器上。 如果該模塊在這里考慮南,已經安裝在服務器上然后嘗試升級它。 因為您可能在本地計算機上使用升級版本的模塊,並且在服務器中安裝了舊版本。
在我的情況下,問題在於uwsgi配置。 我在我的應用程序的uwsgi conf中添加了buffer-size = 65535,並且在服務器上解決了錯誤502的問題
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.