[英]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.