Nginx 502 Bad Gateway 原因与解决方法

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

Nginx 502 Bad Gateway 原因与解决方法

文章插图
Nginx 502 Bad Gateway出现的原因:FastCGI进程是否已经启动 , 查看是否启动了php-fpm服务 。
psaux|grepphpFastCGI worker进程数是否不够 , 判断是否接近FastCGI进程 , 接近配置文件中设置的数值 , 表明worker进程数设置太少 。
netstat-anpo|grep“php-cgi”|wc-lFastCGI执行时间过长 , 根据实际情况调高以下参数值 。
fastcgi_connect_timeout300;
fastcgi_send_timeout300;
fastcgi_read_timeout300;FastCGI Buffer不够 , Nginx 和 Apache 一样 , 有前端缓冲限制 , 可以调整缓冲参数 。
【Nginx 502 Bad Gateway 原因与解决方法】fastcgi_buffer_size32k;
fastcgi_buffers832k;Nginx 502 Bad Gateway 其它原因
出现502的情况太多了 , 远远不只是博主所说的这几种!这几种只能说是最常用的吧!具体的原因一定要去查看服务器的日志 。
例如:你服务器目前的配置支撑不了你现有的业务 。我有一个朋友服务器是4核8G的 , 经常一会出现 502 Bad Gatewa , 又一会正常 , CPU和内存经常爆满接近100% , 负载也接近4 , 最后 , 配置升级成8核16G后变就变正常了 。
Nginx 502 bad gateway问题怎么解决?接下来说下如何通过查看日志来解决502 Bad Gateway
查看nginx日志
既然是nginx报错 , 首先我们就去查看 Nginx 的日志;执行如下命令:
vim/fujieace/nginx/logs/error.log日志没有报什么错 , 一切正常 , 显然不是 Nginx 出的问题 。
查看php日志
或许不同的环境 , 路径或许不一同 , 但是很类似 , 继续执行 Linux 命令:
vim/fujieace/php/var/log/php-fpm.log结果发现有很多错误 , 例如下面 , 日志或许还会有其它的报错 , 也可以留言 , 博主免费帮助解决!
WARNING:[poolwww]serverreachedpm.max_childrensetting(5),considerraisingit;因为博主用的纯手工源码安装php , 因此它默认的进程是5个 , 我们需要做一定的修改 , 网上很多 PHP一键安装包 它默认的个数或许不一样 , 像 LNMP一键安装包 它默认应该是至少是10个 。

    推荐阅读