Nginx 502 bad gateway怎么解决?

BlueHost优惠码 Hostinger主机优惠RAKsmart美国服务器活动

Nginx 502 Bad Gateway错误含义是请求的PHP-CGI已经执行,但是由于读取资源问题等原因没有执行完毕,而导致PHP-CGI进程终止,那么出现Nginx 502 bad gateway怎么解决?下面一起来了解下。

Nginx 502 bad gateway

出现Nginx 502 bad gateway错误的主要原因:

常见的原因可能是php-cgi进程数不够用、MySQL语句执行慢导致PHP执行时间长、或者是php-cgi进程异常中断,都会出现Nginx 502 bad gateway错误。

Nginx 502 bad gateway怎么解决?

针对以上不同的原因,现提供不同的解决方法。

1、当磁盘空间不足时,可以执行df -h命令,查看磁盘使用量。

2、安装Nginx后可正常访问网站的环境中,运行一段时间出现502错误码,一般默认php-cgi进程是5个,可能因为php-cgi进程不够用而造成502错误,需要修改/usr/local/php/etc/php-fpm.conf文件,将其中的max_children值适当增加。

3、PHP执行超时,修改/usr/local/php/etc/php.ini文件,将max_execution_time改为300。

我们可以依次执行以下命令来进行排查,查看php fastcgi的进程数,及max_children的值。

netstat -anop | grep php-cgi | wc -l

netstat -anpo | grep php-fpm | wc -l

查看当前进程命令。

ps aux | grep php-fpm

观察fastcgi、php-fpm进程数,假如使用的进程数等于或高于5个,说明需要增加。

修改/usr/local/php/etc/php-fpm.conf配置文件中的相关参数,将pm.max_children参数的值修改为5,将request_terminate_timeout参数的值修改为60。

Nginx 502 bad gateway

Nginx 502 bad gateway

要注意的是:max_children最多5个进程,按照每个进程20MB内存,最多100MB。也就是1分钟。max_children增多,则php-cgi的进程增多就会处理的很快,排队的请求就会很少。但是设置max_children也需要根据服务器的性能进行设定,一台服务器正常情况下,每一个php-cgi进程所耗费的内存在20M左右。根据购买的服务器内存来实际决定。

request_terminate_timeout执行的时间为60秒,request_terminate_timeout值可以根据服务器的性能进行设定。一般来说性能越好您可以设置越高,20分钟~30分钟都可以。

相关阅读:《Nginx启动成功但页面访问不到的解决方法

(本文由美国主机侦探原创,转载请注明!)

微信扫码加好友进群

主机优惠码及时掌握

QQ群号:164393063

主机优惠发布与交流

温馨提示:

1、本站部分图片来源于互联网,如有侵权请联系删除。QQ:800013301

2、本文评论没有专人回复,如果您有问题请到美国主机侦探论坛提问!

3、美国主机侦探免费为您提供美国主机购买咨询。

返回顶部