打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
记录一次nginx+uwsgi服务器部署出现的502错误

在重新部署一台服务器的时候遇到一个问题,新手嘛,以前没搞过,确实纠结了一下。记录下此问题,方便以后查看。

错误描述:

网页打开显示的是502错误,查看/var/log/nginx/error.log 出现很多类似*3 upstream prematurely closed connection while reading response header from upstream, client *.*.*.*, server ***.com, request:....的错误

又查看了/var/log/uwsgi/uwsgi.log日志 ,记录显示每次请求都会出现-- unavailable modifier requested: 0--错误


错误原因分析:

作为一个菜鸟,看到这篇文章分析的不错,贴在这里

http://lidongbest5.com/blog/15/转自:

前几天看见linode的邮件,说是服务器要维护,要进行服务器的迁移,但是数据和ip都不变,好吧,我就点了确定后没当个事。第二天挂服务器翻墙不行了,再一看网站500了,呵呵,确实是迁移出问题了. 
那么就开始排查呗,首先是看nginx服务状态是正常的,那么再看nginx的错误日志吧,直接写着是:

2013/07/19 07:59:36 [error] 2029#0: *785 connect() failed (111: Connection refused) while connecting to upstream, client: 123.125.116.232, server: lidongbest5.com, request: "GET / HTTP/1.1", upstream: "uwsgi://127.0.0.1:9090", host: "lidongbest5.com"
这个直接请求被拒绝了,因为是用的是Nginx+uwsgi,那么应该是uwsgi的问题吧。
然后执行netstat -lnp | grep 9090,果然发现uwsgi的9090端口没有在运行,然后一看uwsgi就没有启动,好吧,启动wusgi,再看9090端口运行中。。。
再次访问,发现还是500,这时报错:
2013/07/19 08:12:18 [error] 2029#0: *791 upstream prematurely closed connection while reading response header from upstream, client: 123.125.116.232, server: lidongbest5.com, request: "GET / HTTP/1.1", upstream: "uwsgi://127.0.0.1:9090", host: "lidongbest5.com"
这个错误我就没有什么头绪了,然后就网上各种搜,有的说是nginx负载过高,导致timeout没返回,有的说是header响应头的空格的问题,反正是说什么的都有,好吧,负载过高的话就在nginx里加些配置吧,重启nginx后还是不行,这时感觉到是不是有些服务没启动所以才导致没返回。这时就开始排查,然后通过查看/etc/rc.d/init.d/mysqld status,显示mysql 停止,好吧,原来问题是出在这啊,这时使用命令service mysqld start启动mysql,好吧,没问题了。 
通过这个问题有些感想,千万不能着急,要慢慢排查,500不一定就是Nginx的问题,要通过error_log来查看问题,先排查一下自己程序调用的服务是否开启。


解决:

服务器在/etc/rc.local文件中设置了自动启动uwsgi服务,在启动的时候加一个参数 --plugin python,重启一下就OK了。

参看

Artoirus的 快速使用uwsgi部署





本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
nginx常见内部参数,错误总结
【Nginx22】Nginx学习:FastCGI模块(四)错误处理及其它
(总结)Nginx配置文件nginx.conf中文详解
nginx tomcat负载均衡之文件上传访问策略
nginx 灰度发布(基于cookies)
当初我要是这么学习Nginx就好了!(多图详解)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服