nginx+php-fpm出现502(Bad Gateway)错误分析
作者:bea
把PHP程序放进云服务器后,首次测试程序访问正常,速度正常但是把程序放到线上访问后,会逐步发现,访问的PHP页面越来越慢,最后直接出现502 bad gateway问题。(在php-fpm.conf中,原本就设置了 pm = static 模式,并设置 pm.max_children = 128)分析:lamp兄弟连打开nginx访问日志,访问量并不高,平均每秒也就10个不到的请求IP,所以,按理,这点访问量,不可能导致出现PHP请求过多,出现502的。打开php-fpm.c
把PHP程序放进云服务器后,首次测试程序访问正常,速度正常
但是把程序放到线上访问后,会逐步发现,访问的PHP页面越来越慢,最后直接出现502 bad gateway问题。
(在php-fpm.conf中,原本就设置了 pm = static 模式,并设置 pm.max_children = 128)
分析:lamp兄弟连
打开nginx访问日志,访问量并不高,平均每秒也就10个不到的请求IP,所以,按理,这点访问量,不可能导致出现PHP请求过多,出现502的。
打开php-fpm.conf日志,出现很多PHP警告问题,
再调整php-fpm的pm模式为pm = dynamic,
pm.start_servers = 20
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 10000
重启php-fpm后,用ps查看php进程:
ps -ef |grep -c php-fpm 22
刚开始,访问PHP很快,然后越来越慢,再次查看进程
ps -ef |grep -c php-fpm 28
从日志和进程变化来看,可以断定是PHP程序出现的问题,是PHP请求太多造成的。大概就是PHP页面中,调用了太多PHP的请求。把这个问题告诉开发后,开发解决之后,服务器再没出现502。
猜你喜欢
您可能感兴趣的文章:
- Thinkphp向数据库插入数据失败原因
- 分享一个thinkphp错误提示页面代码
- 解决ThinkPHP错误页无法正常跳转
- ThinkPHP实例 用户注册登录留言
- ThinkPHP中文乱码解决方案
- ThinkPHP分页中的条件查询问题
- soap在ThinkPHP中的使用实例
- 什么是ThinkPHP框架新手了解下
- M方法和D方法在ThinkPHP中的区别
- 总结ThinkPHP使用技巧经验分享
- 比较ThinkPHP和FleaPHP二款PHP框架
- ThinkPHP教程详解CURD的使用
- 分享如何写ThinkPHP的注册和登录代码
- 关闭APP_DEBUG出现了解析错误
- 组合ThinkPHP配置文件消除代码冗余
- jQuery - 获得内容和属性
- error: RPC failed; HTTP 411 curl 22 The requested
- CentOS7.0安装Nginx 1.7.4
- nginx内置全局变量及含义