Bad-Gateway是什么意思 502 bad gateway错误解决方法(3)
限制php执行时间可以在php-fpm.conf中的request_terminate_timeout设置,这是为了防止php程序的bug导致php-cgi假死。
三、FastCGI执行时间过长
根据实际情况调高以下参数值
fastcgi_connect_timeout 300; fastcgi_send_timeout 300; fastcgi_read_timeout 300;
除了上面列出的三种情况,当然还会有其它原因,但上面三种情况是最常见的
最近几天发现网通线路的服务器出现流量不稳定的情况,具体的表现是,流量时而高,时而低,在流量低的时候发现系统的负载很小,几乎为0,但是过一会,负载又高上去,流量也上去,很是奇怪,查找了2天没有找到原因,后来看到一边文章,介绍了解决nginx出现502的错误现象,按照这个方法进行尝试,最终还是找到了问题的原因。
解决步骤如下:
1、查看当前的PHP FastCGI进程数是否够用
netstat -anpo | grep "php-cgi" | wc -l
如果实际使用的"FastCGI进程数"接近预设的"FastCGI进程数",那么,说明"FastCGI进程数"不够用,需要增大。
2、部分PHP程序的执行时间超过了Nginx的等待时间,可以适当增加nginx.conf配置文件中FastCGI的timeout时间,例如:
在做第一步的时候,系统当前的PHP FastCGI进程数明显超过了预设值的64这个数值,在电信的服务器上查看当前的PHP FastCGI进程数没有高于64这个数值,而且网通线路的活动连接明显高于电信的活动连接,准备到晚上的时候看看情况,结果到晚上22:30的时候,查看系统当前的PHP FastCGI进程数明显小于64预设值,当前的活动连接也比原来低很多,由此可以说明出现nginx不稳定的情况是由于服务器访问负载过大引起的,就是加上第二步的错误也不顶作用。
总结,php-cgi进程数不够用、php执行时间长、或者是php-cgi进程死掉,都会出现502错误
- ·Linux procinfo命令使用教程,学习procinfo命令的用法
- ·Linux spell命令使用教程,学习spell命令的用法及spel
- ·Linux df命令使用教程,学习df命令的用法及df命令语法
- ·Linux id命令使用教程,学习id命令的用法及id命令语法
- ·Linux dip命令使用教程学习,dip命令的用法与实例讲解
- ·Linux zipinfo命令使用教程学习,info命令语法动手详
- ·Linux sort命令使用教程学习惯,sort命令语法详细讲解
- ·Linux ar命令的用法及实例学习-ar命令语法的运用技巧
- ·Linux login命令的用法及实例讲解
- ·linux find命令使用教程及find命令的用法与实例讲解
- ·linux dump命令用法详解。dump命令学习心得。dump命令
- ·linux kill命令使用教程,kill函数命令学习心得。
- ·linux awk数组学习心得及awk数组操作详细介绍 用awk进
- ·Linux Unzip命令使用教程,Linux zip命令使用教程
- ·linux中echo命令详解学习,echo命令的使用方法。
- ·uniq命令详解-linux uniq语法使用教程学习-uniq的用法