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

(编辑:jimmy 日期: 2024/12/26 浏览:2)

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;

一句话新闻

高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。