nginx+uwsgi+django报502错误分析

在部署nginx+uwsgi+django项目时遇到502 Bad Gateway错误,通过排查发现并非nginx或uwsgi配置问题,而是Django版本与中间件不兼容。错误源于Django 1.8.4移除了transaction事务处理中间件,解决方案是将Django版本回退到1.7.10,从而成功解决502错误。
摘要由CSDN通过智能技术生成

摘要:nginx+uwsgi+django报502错误
nginx :

upstream prematurely closed connection while reading response header from upstream

uwsgi :

Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/Django-1.8.4-py2.7.egg/django/core/handlers/wsgi.py", line 170, in __call__
    self.load_middleware()
  File "/usr/local/lib/python2.7/dist-packages/Django-1.8.4-py2.7.egg/django/core/handlers/base.py", line 50, in load_middleware
    mw_class = import_string(middleware_path)
  File "/usr/local/lib/python2.7/dist-packages/Django-1.8.4-py2.7.egg/django/utils/module_loading.py", line 26, in import_string
    module = import_module(module_path)
  File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
ImportError: No module named transaction

nginx+uwsgi+django报502错误分析

项目框架

项目使用的是nginx+uwsgi+django来做web项目框架

the web client <-> the web server(nginx) <-> the socket <-> uWSGI <-> Django

项目环境安装请看

http://blog.csdn.net/libing1991_/article/details/47947103
http://blog.csdn.net/libing1991_/article/details/47971965

项目部署问题

环境信息:
ubuntu : 14.04 LTS
nginx : 1.8.0
uwsgi : 2.0.6
Django : 1.8.4
项目访问:https://localhost:443
浏览器显示:502 bad gateway 并输出nginx版本信息

问题解决

问题排查

根据uwsgi-docs.pdf依次排查nginx,uwsgi,django安装及部署问题,结果均显示正常,无安装错误
uwsgi-docs.pdf可以到官网下载,里面提供了详细的操作步骤
https://www.baidu.com/link?url=v8cJ2Z1wLaZgb6F2cGTs97d19wGZkGlEXdJnATwX3FmMgh_CTtSzZbFrcCND85on_Qiz1kr-kajIaqOLh91iLq

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值