502 Bad Gateway深究
早上收到502报警,设置的报警规则是502错误两分钟超过500就报警。
排障流程:
日志分析系统报障-->查看日志系统日志-->nginx错误日志-->php错误日志-->php-fpm.log日志
在日志分析系统里面看到产生502报警的机器只有一台xxx.xxx.xxx.170,客户端IP也只有一个,说明不是大规模故障。

连接到170服务器查看nginx错误日志,看到Connection reset by peer,连接被对方重置,说明php关掉了这个连接
// :: [error] #: * recv() failed (: Connection reset by peer) while reading response header from upstream, client: 123.206.95.156, server: jifen..com, request: "GET /center/index HTTP/1.0", upstream: "fastcgi://127.0.0.1:9000", host: "jifen.51.com", referrer: "http://jifen.51.com/"
// :: [error] #: * recv() failed (: Connection reset by peer) while reading response header from upstream, client: 123.206.95.156, server: jifen..com, request: "GET /center/index HTTP/1.0", upstream: "fastcgi://127.0.0.1:9000", host: "jifen.51.com", referrer: "http://jifen.51.com/"
// :: [error] #: * recv() failed (: Connection reset by peer) while reading response header from upstream, client: 123.206.95.156, server: jifen..com, request: "GET /center/index HTTP/1.0", upstream: "fastcgi://127.0.0.1:9000", host: "jifen.51.com", referrer: "http://jifen.51.com/"
// :: [error] #: * recv() failed (: Connection reset by peer) while reading response header from upstream, client: 123.206.95.156, server: jifen..com, request: "GET /center/index HTTP/1.0", upstream: "fastcgi://127.0.0.1:9000", host: "jifen.51.com", referrer: "http://jifen.51.com/"
继续查看日志,看php的错误日志,里面什么也没有。
然后查看php-fpm.log日志文件,看到index.php脚本执行超时,都是30多秒。
[-Dec- ::] WARNING: [pool www] child exited on signal (SIGTERM) after 10765.182746 seconds from start
[-Dec- ::] NOTICE: [pool www] child started
[-Dec- ::] WARNING: [pool www] child exited on signal (SIGTERM) after 10287.255584 seconds from start
[-Dec- ::] NOTICE: [pool www] child started
[-Dec- ::] WARNING: [pool www] child , script '/opt/wwwroot/jifen.51.com/www/index.php' (request: "GET /center/index") execution timed out (31.152266 sec), terminating
[-Dec- ::] WARNING: [pool www] child , script '/opt/wwwroot/jifen.51.com/www/index.php' (request: "GET /center/index") execution timed out (31.370696 sec), terminating
[-Dec- ::] WARNING: [pool www] child , script '/opt/wwwroot/jifen.51.com/www/index.php' (request: "GET /center/index") execution timed out (30.236601 sec), terminating
[-Dec- ::] WARNING: [pool www] child , script '/opt/wwwroot/jifen.51.com/www/index.php' (request: "GET /center/index") execution timed out (31.273963 sec), terminating
[-Dec- ::] WARNING: [pool www] child , script '/opt/wwwroot/jifen.51.com/www/index.php' (request: "GET /center/index") execution timed out (30.752849 sec), terminating
[-Dec- ::] WARNING: [pool www] child , script '/opt/wwwroot/jifen.51.com/www/index.php' (request: "GET /center/index") execution timed out (31.055392 sec), terminating
[-Dec- ::] WARNING: [pool www] child , script '/opt/wwwroot/jifen.51.com/www/index.php' (request: "GET /center/index") execution timed out (30.037908 sec), terminating
打开php-fpm.conf配置文件,里面设置的request_terminate_timeout = 30 设置的单一脚本执行超过30s就会被终止。

并且php.ini配置文件里max_execution_time = 60,设置单一脚本最多执行60s。

错误原因找到了,产生502 Bad Gateway的原因是这个脚本执行超时。鉴于是单一情况,只有一个用户出现502错误,不是所有用户连接都出现502,也为了安全及减轻服务器压力,未调大request_terminate_timeout值。
502 Bad Gateway深究的更多相关文章
- 记一次nginx部署yii2项目时502 bad gateway错误的排查
周六闲来无事,就试着安装和部署下yii2,安装过程没什么问题,但部署到nginx上时遇到了502 bad gatewary问题,折腾了半天才搞定.这个问题是我以前在部署yii2时没有遇到过的,因此记在 ...
- ngnix 502 bad gateway 的解决办法之空间满了
网站一直运行都很正常,但某天登录后台却出现502 bad gateway,上网搜索都是一大堆解决办法,没可操作性.网站难道出现安全问题?这个应该很少概率.最后排查发现空间满了. 使用命令:df -hl ...
- 解决 504 Gateway Time-out和502 Bad Gateway(nginx)
504 Gateway Time-out 问题所在: 所请求的网关没有请求到,简单来说就是没有请求到可以执行的PHP-CGI. 一般看来, 这种情况可能是由于nginx默认的fastcgi进程响应的缓 ...
- Nginx 502 bad gateway问题的解决方法
Nginx 502 Bad Gateway的含义是请求的PHP-CGI已经执行,但是由于某种原因(一般是读取资源的问题)没有执行完毕而导致PHP-CGI进程终止,一般来说Nginx 502 Bad G ...
- Nginx + php-fpm 执行 PHP 脚本超时 报错 502 Bad Gateway + 504 Gateway Time-out 的解决办法
上周写好的发送邮件的计划任务只发送了一部分,检查计划任务日志,发现 502 Bad Gateway 的错误(已经在脚本中设置了 set_time_limit(0)). 后来在网上查找资料,可以通过以下 ...
- Nginx 502 Bad Gateway 错误的原因及解决方法
http://my.oschina.net/zhouyuan/blog/118708 刚才在调试程序的时候,居然服务器502错误,昨天晚上也发生了,好像我没有做非常规的操作. 然后网上寻找了下答案, ...
- 502 bad gateway 错误
在安装好使用过程中出现502问题,一般是因为默认php-cgi进程是5个,可能因为phpcgi进程不够用而造成502,需要修改/usr/local/php/etc/php-fpm.conf 将其中的m ...
- CentOS 7 + nginx + uwsgi + web2py (502 bad gateway nginx)
Web2py开发包中自带的setup-web2py-nginx-uwsgi-centos64.sh脚本, 只能运行在CentOS 6.4中使用, 如果直接在CentOS 7 中使用该脚本布署后, 访问 ...
- 504 Gateway Time-out 和 502 Bad Gateway相关处理
若报:504 Gateway Time-out则与nginx有关 解决方案: #vim nginx.conf 添加以下代码: http{ fastcgi_connect_timeout 300; fa ...
随机推荐
- 使用mvn archetype:generate生产maven工程,响应很慢
经常到下列时就不往下走了. 解决方案: 1.不使用interactive mode方式,直接指定DarchetypeArtifactId 2.仍使用interactive mode方式,但增加参数 - ...
- 从爬取湖北某高校hub教务系统课表浅谈Java信息抓取的实现 —— import java.*;
原创文章与源码,如果转载请注明来源. 开发环境:Myeclipse,依赖包:apache-httpclient . Jsoup.base64 一.概述 整个系统用Java开发.我们现在要做的是类似于超 ...
- asp.net mvc 之旅 —— 第六站 ActionFilter的应用及源码分析
这篇文章我们开始看一下ActionFilter,从名字上其实就大概知道ActionFilter就是Action上的Filter,对吧,那么Action上的Filter大概有几个呢??? 这个问题其实还 ...
- JS控制键盘录入 和 window.event.keycode对照
一.只允许录入整数 1.不允许录入非数字(按下字母键就会提示并清空) function intOnly() { if (!(window.event.keyCode >= 48 &&am ...
- mybatis-generator-gui--一个mybatis代码自动生成界面工具
mybatis-generator-gui是什么 介绍mybatis-generator-gui之前,有必要介绍一下什么是mybatis generator(熟悉的同学可以跳过这一节).我们都知道,通 ...
- 树莓派3B远程VNC的设置(包括开机启动)
可以说,现在很少有自带VNCserver的教程 因为之前 官方系统没有自带VNC 但是 现在 最新版的官方系统已经自带VNCserver 只需要在设置里启用一下,然后设置就可以用啦. 别的教程都是 ...
- js中判断对象具体类型
大家可能知道js中判断对象类型可以用typeof来判断.看下面的情况 <script> alert(typeof 1);//number alert(typeof "2" ...
- mysql 基础 增删改查语句
MySQL:众多关系型数据库中的一种仓库 --数据库箱子 --表数据库:进入mysql 命令行: mysql -uroot -p查看所有数据库: show databases;创建数据库: creat ...
- 【原】让H5页面适配移动设备全家 - 前端篇 - PPT
7月份在部门内给设计中心的同事们带来<让H5页面适配移动设备全家 - 设计师篇 - PPT>的分享,在视觉和交互稿上提出页面适配的建议及提升页面体验的好处,促进前端和设计双方更好的合作,同 ...
- Error invoking SqlProvider method (com.github.abel533.mapper.MapperProvider.dynamicSQL). Cause: java.lang.InstantiationException: com.github.abel533.mapper.MapperProvider
org.apache.ibatis.exceptions.PersistenceException: ### Error querying database. Cause: org.apache.i ...