uWSGI+NGINX部署Django报错502的解决方法
作者:我就是个世界
发表于:2012-02-18
NGINX报错502的原因有很多种,其它的关于NGINX配置方面的这里就不说了,今天只说一下由于uWSGI的原因导致NGINX报错502的问题。
uWSGI的原因导致NGINX报错502的原因有两种: 第一,uWSGI服务停止; 第二,uWSGI配置不正确
第一种,只要重新启动uWSGI服务即可解决,我今天就遇到了第二种,因为换服务器搬迁的原因,更换了服务器,在原先服务器上正常运行的程序原样不动的配置在新的服务器上,NGINX报错502,但是uwsgi正常启动端口3031也正常监听。查看NGINX错误日志,发现如下:[separator]
[code]2012/02/18 13:12:39 [error] 1383#0: *198 upstream prematurely closed connection while reading response header from upstream, client: 60.220.178.174, server: www.feifanlv.com, request: "GET /favicon.ico/ HTTP/1.1", upstream: "uwsgi://127.0.0.1:3031", host: "www.feifanlv.com"[/code]
看了半天没看明白个所以然,好像是说NGINX的后端头文件过早的关闭了,放狗搜了半天,终于有了点眉目,原来是uwsgi不正常内存限制导致的,参照服务器硬件情况进行修改内存配置,重新启动uWSGI服务即可解决。
uWSGI的原因导致NGINX报错502的原因有两种: 第一,uWSGI服务停止; 第二,uWSGI配置不正确
第一种,只要重新启动uWSGI服务即可解决,我今天就遇到了第二种,因为换服务器搬迁的原因,更换了服务器,在原先服务器上正常运行的程序原样不动的配置在新的服务器上,NGINX报错502,但是uwsgi正常启动端口3031也正常监听。查看NGINX错误日志,发现如下:[separator]
[code]2012/02/18 13:12:39 [error] 1383#0: *198 upstream prematurely closed connection while reading response header from upstream, client: 60.220.178.174, server: www.feifanlv.com, request: "GET /favicon.ico/ HTTP/1.1", upstream: "uwsgi://127.0.0.1:3031", host: "www.feifanlv.com"[/code]
看了半天没看明白个所以然,好像是说NGINX的后端头文件过早的关闭了,放狗搜了半天,终于有了点眉目,原来是uwsgi不正常内存限制导致的,参照服务器硬件情况进行修改内存配置,重新启动uWSGI服务即可解决。
版权声明
本文仅代表作者观点,不代表XX立场。
本文系作者授权百度百家发表,未经许可,不得转载。
已有4条评论