繁体   English   中英

nginx django 502坏网关

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM