一. 戏说

不管你是做运维还是做开发,哪怕你是游客,时不时会遇到502 Bad Gateway或504 Gateway Time-out。出现这页面,把服务重启下,再实在不行重启下服务器,问题就解决了,但是,这问题还是会困扰着你,特别是做运维的人员。夜黑风高正酣睡时,一个电话响起,让你重启服务或IISRESET,肯定是极大不爽,立马要问候他妈了。呵呵,本文总结502与504故障分析与解决方法。

二. 状态码解释

502 Bad Gateway:作为网关或者代理工作的服务器尝试执行请求时,从上游服务器接收到无效的响应。

504 Gateway Time-out:作为网关或者代理工作的服务器尝试执行请求时,未能及时从上游服务器(URI标识出的服务器,例如HTTP、FTP、LDAP)或者辅助服务器(例如DNS)收到响应。

三. 502 Bad Gateway原因分析

将请求提交给网关如php-fpm执行,但是由于某些原因没有执行完毕导致php-fpm进程终止执行。说到此,这个问题就很明了了,与网关服务如php-fpm的配置有关了。

php-fpm.conf配置文件中有两个参数就需要你考虑到,分别是max_children和request_terminate_timeout。

max_children最大子进程数,在高并发请求下,达到php-fpm最大响应数,后续的请求就会出现502错误的。可以通过netstat命令来查看当前连接数。

request_terminate_timeout设置单个请求的超时终止时间。还应该注意到php.ini中的max_execution_time参数。当请求终止时,也会出现502错误的。

当积累了大量的php请求,你重启php-fpm释放资源,但一两分钟不到,502又再次呈现,这是什么原因导致的呢? 这时还应该考虑到数据库,查看下数据库进程是否有大量的locked进程,数据库死锁导致超时,前端终止了继续请求,但是SQL语句还在等待释放锁,这时就要重启数据库服务了或kill掉死锁SQL进程了。

对于长时间的请求可以考虑使用异步方式,可以参阅《关于PHP实现异步操作的研究》。

四. 504 Gateway Time-out原因分析

504错误一般是与nginx.conf配置有关了。主要与以下几个参数有关:fastcgi_connect_timeout、fastcgi_send_timeout、fastcgi_read_timeout、fastcgi_buffer_size、fastcgi_buffers、fastcgi_busy_buffers_size、fastcgi_temp_file_write_size、fastcgi_intercept_errors。特别是前三个超时时间。如果fastcgi缓冲区太小会导致fastcgi进程被挂起从而演变为504错误。

五. 小结

总而言之,502错误主要从四个方向入手:

1. max_children

2. request_terminate_timeout、max_execution_time

3. 数据库

4. 网关服务是否启动如php-fpm

504错误主要查看nginx.conf关于网关如fastcgi的配置。

如需转载请注明出处:http://www.ttlsa.com/html/3112.html

商标网报错504_网站502与504错误分析相关推荐

  1. 网站502与504错误分析

    本文转载自:http://www.ttlsa.com/html/3112.html 一. 戏说 不管你是做运维还是做开发,哪怕你是游客,时不时会遇到502 Bad Gateway或504 Gatewa ...

  2. iis was错误_IIS报错,网站无法访问,

    展开全部 原因分析 你说的iss报错,从而导致网站无法访问的错误表现我们可以看出,主要是由于IWAM账号(在我的计e68a84e8a2ad3231313335323631343130323136353 ...

  3. zabbix页面报错404和502解决

    web页面404报错: 原因是重启服务器后zabbix主页面被改名了: 解决: cd /etc/opt/rh/rh-nginx116/nginx/conf.d/ mv zabbix.conf.rpms ...

  4. 502与504错误分析

    2019独角兽企业重金招聘Python工程师标准>>> 一. 戏说 不管你是做运维还是做开发,哪怕你是游客,时不时会遇到502 Bad Gateway或504 Gateway Tim ...

  5. 成功解决: 支付宝报错钓鱼网站

    将浏览器中支付宝(沙箱版支付宝)退出登录,重新打开浏览器即可

  6. 网站报错:HTTP ERROR 502

    问题描述 crowdos网站突然就访问不了了,输入域名www.crowdos.cn,就弹出类似个界面,主要报错"HTTP ERROR 502" 问题跟踪 根据基本web知识,502 ...

  7. 前端 报错! 总结:

    JS基础错误 JS高级错误 JQ错误 网络编程错误 VSCode相关插件错误 express相关 Git错误 大事件错误 sql错误 node错误 npm错误 拼写类错误 其他错误 JS语法 JS基础 ...

  8. python爬虫资源路径报错_python爬虫

    一.网络爬虫介绍 网络爬虫是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成. 例如,百度.google搜索某关键字时,就是爬取整个互联网上的相关资源,给呈现出来. 实际爬 ...

  9. 报错 ESET-NOD32 或 a.gray.Bulimia.b (腾讯) 病毒

    问题解决方案(提供各路道友使用) 1.主要来源于com.blankj:utilcode 这个库,内部获取太多关于隐私的方法,所有最好的解决的方案是获取开源库源文件导入到项目做删减文件 库地址:库地址 ...

  10. 客户端下载报错md5值不匹配

    分清情况: 情况1:个别客户端还是全部客户端更新失败? 情况2:网络环境,内网还是外网报错? 一般来说,常见外网客户端更新失败,内网正常. ------------------------------ ...

最新文章

  1. 学python去哪做项目_有哪些适合 Python 刚入门者去做的项目?
  2. ASP.NET MVC 音乐商店 - 1 创建项目
  3. 【CentOS 7笔记24】,实验中发生的磁盘小故障#
  4. pythin怎么根据月份获取月初和月末_数据统计丨7月份塑料市场明显回暖,8月份是否延续乐观行情?...
  5. win7怎么运行linux,win7系统运行linux shell脚本的操作方法
  6. qsettings mysql_qt连接mysql
  7. 微信机器人开发SDK使用教程--养号任务停止
  8. yum 来安装 nodejs
  9. 判断iframe是否加载完成的方法[转]
  10. 【英语学习】【WOTD】brummagem 释义/词源/示例
  11. 在线JSON转HTML,TABLE表格工具
  12. Pandas中Series和DataFrame的索引
  13. 斐波那契数(动态规划和递归)
  14. python运算符and_Python AND运算子
  15. complexType
  16. php往pdf模板添加数据,php实现往pdf中加数字签名操作示例【附源码下载】
  17. 单总线CPU微程序条件判别测试逻辑
  18. 微信小程序直接打开第三方app,如何实现?
  19. 【最短路】Graph practice T2 drive 题解
  20. 自动化测试框架[各自动化测试框架大比拼]

热门文章

  1. DRAM存储系统结构
  2. APP支付宝登录第三方授权如何签约入口在哪里
  3. C# 读取Word中的脚注和尾注内容
  4. CSP共空间模式详解
  5. 工信部ICP备案管理系统滑动验证码破解
  6. IEEE Transactions on Intelligent Transportation Systems投稿记录
  7. 机器学习笔记21——决策树之CART算法原理及python实现案例
  8. 如何创建一个基本的魔兽全图外挂 HowTo create a basic Maphack by Chaotic
  9. 软件著作权登记怎么查询
  10. JavaScript 通过注册表的形式调用搜狗输入法的手写输入功能