欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

Nginx 502 Bad Gateway错误常见的4种原因和解决方法

程序员文章站 2022-06-13 19:19:30
1.fastcgi worker进程数是否不够 通过命令查看服务器上一共开了多少的 php-cgi 进程 复制代码 代码如下: ps -fe |grep "php"...

1.fastcgi worker进程数是否不够

通过命令查看服务器上一共开了多少的 php-cgi 进程

复制代码 代码如下:

ps -fe |grep "php" | grep -v "grep" | wc -l

使用如下命令查看已经有多少个php-cgi进程用来处理tcp请求
复制代码 代码如下:

netstat -anop | grep "php" | grep -v "grep" | wc -l

接近配置文件中设置的数值,表明worker进程数设置太少

2.fastcgi执行时间过长

根据实际情况调高以下参数值

复制代码 代码如下:

fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;

3.fastcgi buffer不够

nginx和apache一样,有前端缓冲限制,可以调整缓冲参数

复制代码 代码如下:

fastcgi_buffer_size 32k;
fastcgi_buffers 8 32k;

这个一般你能在日志中看到:upstream sent too big header while reading response header from upstream
意思就是反馈回来的头部信息太大,好多是firefox浏览时才出现,是它的插件引起的。
4.proxy buffer不够

如果你用了proxying,试试调整

复制代码 代码如下:

proxy_buffer_size 16k;
proxy_buffers 4 16k;