ubuntu nginx php-fpm 报502 bad gateway 错误

上周六游戏进不去,自己用工具测试时,提示 502 bad gateway 错误,一时不知道怎么整,竟然把服务器重启了,等老板的验证码,折腾了大半天,其实不用这样,直接生启php5-fpm,与nginx 就可以

/etc/init.d/php5-fpm restart

service nginx restart

如果重启失败

如果提示fail 
sudo nginx -t  查看原因
http://www.linuxidc.com/Linux/2015-07/119754.htm


分析502 bad gateway 错误,不在nginx 这边,应该是php解析处理那边的问题,估计是php5-fpm 出问题,没法处理php解析。所以要做相应的优化,防止下次还出现这样的问题

调高调高linux内核打开文件数量
可以使用这些命令(必须是root帐号)
echo 'ulimit -HSn 65536' >> /etc/profile
echo 'ulimit -HSn 65536' >> /etc/rc.local
source /etc/profile

脚本执行时间超时
如果脚本因为某种原因长时间等待不返回 ,导致新来的请求不能得到处理,可以适当调小如下配置。
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
php-fpm.conf里如要是如下
request_terminate_timeout = 10s

增加php5-fpm 进程数
https://www.cnblogs.com/52fhy/p/5051722.html
pm = dynamic                                                                                                                                                        
pm.max_children = 64                                                                                                                                              
pm.start_servers = 32                                                                                                                                             
pm.min_spare_servers = 16                                                                                                                                           
pm.max_spare_servers = 32
pm.max_requests = 5000
pm =  dynamic  如何控制子进程,选项有 static dynamic pm.max_children:静态方式下开启的php-fpm进程数量pm.max_requests:php-fpm子进程能处理的最大请求数pm.start_servers:动态方式下的起始php-fpm进程数量pm.min_spare_servers:动态方式下的最小php-fpm进程数pm.max_spare_servers:动态方式下的最大php-fpm进程数量
区别:
如果dm设置为 static,那么其实只有pm.max_children这个参数生效。系统会开启设置数量的php-fpm进程。
如果dm设置为 dynamic,那么pm.max_children参数失效,后面3个参数生效。
系统会在php-fpm运行开始 的时候启动 pm.start_servers个 php-fpm进程,
然后根据系统的需求动态在 pm.min_spare_servers pm.max_spare_servers 之间调整php-fpm进程数。


你可能感兴趣的:(linux)