收藏文章 楼主

502 Bad Gateway nginx 情况:php软件没有运行,运行流程nginx 请求转发给php进行计算后返回nginx

版块:linux   类型:普通   作者:小绿叶技术博客   查看:585   回复:0   获赞:0   时间:2021-07-05 16:43:25

502 Bad Gateway


nginx


nginx 运行原理,通过nginx 配置文件配置的php链接地址进行转发,当php链接无法通信,无法转给php进行处理,就会出现502错误。

实验过程: 
systemctl stop php-fpm  # 停止了php 软件,发现网站立马 gateway 

情况排查:
rpm -qa | grep php  # php为空,没有安装软件

nginx.conf 主配置文件参考:https://eisc.cn/index.php?c=read&id=560&page=1


一、nginx 502 Bad Gateway出现的原因:
nginx出现502多数是属于后端的问题,后期就是PHP的问题,在php服务当中,有两个参数非常的重要:max_requestst 和max_children;具体的原因必须要查看日志才可以弄明白!

nginx 502 bad gateway

1、FastCGI进程是否已经启动
ps aux | grep php
查看是否启动了php-fpm服务;

 

2、FastCGI worker进程数是否不够
运行linux命令:

netstat -anpo | grep “php-cgi” | wc -l
判断是否接近FastCGI进程,接近配置文件中设置的数值,表明worker进程数设置太少;

 

3、FastCGI执行时间过长
根据实际情况调高以下参数值

fastcgi_connect_timeout 300;

fastcgi_send_timeout 300;

fastcgi_read_timeout 300;

 

4、FastCGI Buffer不够
nginx和apache一样,有前端缓冲限制,可以调整缓冲参数

fastcgi_buffer_size 32k;

fastcgi_buffers 8 32k;

 

5、其它原因
出现502的情况太多了,(例如:你服务器目前的配置支撑不了你现有的业务。我有一个朋友服务器是4核8G的,经常一会出现502 Bad Gatewa,又一会正常。CPU和内存经常爆满接近100%,负载也接近4。最后,配置升级成8核16G后变就变正常了。)远远不只是博主所说的这几种!这几种只能说是最常用的吧!具体的原因一定要去查看服务器的日志;

 

接下来:博主为大家说下如何通过查看日志来解决502 Bad Gateway?

 

二、nginx 502 bad gateway问题怎么解决?
 

1、查看nginx日志

既然是nginx报错,首先我们就去查看nginx的日志;执行如下命令:

vim /fujieace/nginx/logs/error.log
日志没有报什么错,一切正常,显然不是nginx出的问题;

 

2、查看php日志

或许不同的环境,路径或许不一同,但是很类似,继续执行linux命令:

vim /fujieace/php/var/log/php-fpm.log
 

结果发现有很多:如下图

WARNING: [pool www] server reached pm.max_children setting (5), consider raising it;

日志或许还会有其它的报错,也可以发出来,博主免费帮助解决!

 

 pm.max_children setting (5)

 

解决这个问题请查看:

WARNING: [pool www] server reached pm.max_children setting (5), consider raising it







提供企业建站服务,免费网防系统,提交信息登录 http://yundun.ddoss.cn 邮箱: proposal@ddoss.cn 
回复列表
默认   热门   正序   倒序

回复:502 Bad Gateway nginx 情况:php软件没有运行,运行流程nginx 请求转发给php进行计算后返回nginx

头像

用户名:

粉丝数:

签名:

资料 关注 好友 消息