开发者社区 问答 正文

Nginx 502 Bad Gateway错误

已解决

网页打开后502,求解哪里出错了 怎么去解决

展开
收起
我的中国 2016-02-01 17:16:47 3444 分享 版权
1 条回答
写回答
取消 提交回答
  • R&S网络资深工程师 ,阿里云论坛官方版主,阿里云云计算ACP,春考教学网站长,IT技术晋级之路专辑作者
    采纳回答

    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;

    2019-07-17 18:27:47
    赞同 展开评论