php502分析,linux+nginx+php经常出现502的一次分析

86b19df6a22178c25710aa4538bf05f2.png

买了一台Centos云服务器后,系统自动给安装了nginx 1.6 + php 5.3.29 + mysql 5.5

把PHP程序放进云服务器后,首次测试程序访问正常,速度正常

但是把程序放到线上访问后,会慢慢地发现,访问的PHP页面越来越慢,最后直接出现502 bad gateway问题。

(在php-fpm.conf中,原本就设置了 pm = static 模式,并设置 pm.max_children = 128)

过程分析:

打开nginx访问日志,访问量并不高,平均每秒也就10个不到的请求IP,所以这点访问量,不可能导致出现PHP请求过多,出现502的,而且出现502的时候服务器非常卡。

打开php-fpm.conf日志,出现很多PHP警告及进程不足提示,

用ps查看php进程:ps -ef |grep -c php-fpm    37

明显不正常,应该是有进程卡死导致系统资源占用过多导致的。

再调整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程序出现的问题。

解决502最好的办法就是先查看进程数是否正常ps -ef |grep -c php-fpm 然后再重启/etc/init.d/php-fpm restart

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值