一聚教程网:一个值得你收藏的教程网站

热门教程

nginx php 502 Bad Gateway错误原因分析

时间:2022-06-30 18:53:36 编辑:袖梨 来源:一聚教程网


发生原因

1、PHP FastCGI进程数不够用
当网站并发访问巨大时,php fastcgi的进程数不有一定的保障,因为cgi是单线程多进程工作的,也就是说cgi需要处理完一个页面后再继续下一个页面。如果进程数不够,当访问巨大的时候,cgi按排队处理之前的请求,之后的请求只有被放弃。这个时候nginx就会不时的出现502错误。

2、PHP FastCGI的内存不够用

当nginx返回静态页面时,这个问题一般不会出现,因为nginx不需要php cgi的处理而直接返回静态页面。但是当网页需要处理大量的php复杂操作的时候,例如执行api采集,或者采集页面的时候,那对php的要求是相当高的,如果配置给他的内存太少,那很容易就会导致php崩溃。


解决办法


因为我之前重启了几次服务器

 代码如下 复制代码

# /etc/init.d/php-fpm start

Starting php-fpm done


上面是我的解决办法,但是这个方法个人觉得不保险又去找了一下

脚本执行时间超时

如果脚本因为某种原因长时间等待不返回 ,导致新来的请求不能得到处理,可以适当调小如下配置。

nginx.conf里面主要是如下

 代码如下 复制代码

fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;

php-fpm.conf里如要是如下

 代码如下 复制代码

request_terminate_timeout = 10s

热门栏目