我正在使用uWSGI和Nginx来服务我的Django网站(1.4版本)。 我的文件结构是django_mysite / django_mysite /其中有一个wsgi.py文件。
我不断收到502错误的网关错误。 我有其他服务器运行的nginx,他们工作正常。
我的nginxconfiguration:
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 worker的uwsgi.ini文件没有指定套接字。 所以我做了另一个.ini文件,并为它做了一个套接字。 与uwsgi_pass下的nginx conf文件相同的套接字。 这是一个链接到Django的网页来配置uwsgi。
https://docs.djangoproject.com/en/dev/howto/deployment/wsgi/uwsgi/
我面临着同样的问题,但我以下面的方式把它弄出来。
如果第三方应用程序包含在您的项目中,那么它应该安装在您的服务器上,也像南方是第三方应用程序。 考虑南你的settings.py文件,然后南应该也安装在你的服务器上。 如果这个模块考虑在这里,已经安装在服务器上,然后尝试升级它。 因为您可能在本地计算机上使用了升级版本的模块,而在服务器中安装了旧版本。