第一站 - 轻松上网从此开始!

上网第一站

当前位置: > 教程 > 建站 >

超简单Nginx 502 Bad Gateway错误及解决方案

时间:2012-08-19 20:43来源: 作者:小优 点击: 我来投稿获取授权
以下内容来自网络或网友投稿,www.swdyz.com不承担连带责任,如有侵权问题请联系我删除。投稿如果是首发请注明‘第一站首发’。如果你对本站有什么好的要求或建议。那么都非常感谢你能-联系我|版权认领
1.FastCGI worker进程数是否不够 通过命令查看服务器上一共开了多少的 php-cgi 进程 ps -fe |grep php | grep -v grep | wc -l 使用如下命令查看已经有多少个php-cgi进程用来处理tcp请求 netstat -anop | grep php | g

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进程数设置太少
有时超时时间设置过低也会引起502错误。

修改:php-fpm.conf配置文件,<value name=”max_children”>5120</value>、<value name=”max_requests”>600</value>、<value name="request_terminate_timeout">1200s</value>这三个中间的数按照实际情况修改。前一个是设置最大进程数,中间一个设置最大请求数,最后一个是请求超时数的设置。

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;

5.php-fpm的日志文件超过2G
在32位机器上 超过2G的日志文件是无法读取的 请检查下

注意问题2、3、4的解决代码既可以加入nginx.conf文件http属性内也可以加入server或location属性。但无论添加到哪里注意代码不能重复,否则启动时nginx会报错。

(责任编辑:admin)
织梦二维码生成器
顶一下
(7)
50%
踩一下
(7)
50%
------分隔线----------------------------
分享按鈕