最新消息:欢迎加入小松的QQ群一起讨论一起学习,多说即将关闭,感觉好可惜啊

Nginx 502 Bad Gateway错误的解决方式

Nginx 1337浏览 0评论

使用过nginx的人都应该知道Nginx 502 Bad Gateway是最常出现的问题

Nginx 502 Bad Gateway错误
这里收罗了一下常用解决方式
1 FastCGI worker进程数够,如果之前服务运行没有问题,最近出现的比较频繁可能就是这个问题了
通过命令查当前php的进程数,命令如下
ps -fe |grep “php” | grep -v “grep” | wc -l
通过命令查看有多少个php进程用来处理tcp请求
netstat -anop | grep “php” | grep -v “grep” | wc -l
如果实际使用的“php进程数”接近预设的“php进程数”,那么,说明“php进程数”不够用,需要增大。
通过修改php-fpm.conf配置文件来修改
<value name=”max_children”>512</value> #设置最大进程数
<value name=”max_requests”>60</value> #设置最大请求数
<value name=”request_terminate_timeout”>120s</value> #求超时时间
注意这三个参数按照实际情况修改。
2 FastCGI Buffer不够,这种错误一般在日志中能看到upstream sent too big header while reading response header from upstream,你去搜这个错误,网上的解释都差不多,无外乎是cookie携带的header太多了,如果header过大,超出了默认的1k,就会引发上述问题
调整以下参数:
fastcgi_buffer_size 32k;
fastcgi_buffers 8 32k;

3 FastCGI执行时间过长,调整以一下参数,这个种502错误我经常遇到,网站做工具的时候因为要处理大数据所以经常出现
fastcgi_connect_timeout 100;
fastcgi_send_timeout 100;
fastcgi_read_timeout 100;
注意这三个参数按照实际情况修改。

4 php-fpm的日志文件超过2G
如果你是32位机器上 超过2G的日志文件是无法读取的,这时候你要检查一下

5 Proxy Buffer不够
如果你用了Proxying,试试调整
proxy_buffer_size 16k;
proxy_buffers 4 16k;

QQ交流群:136351212

如无特别说明,本站文章皆为原创,若要转载,务必请注明以下原文信息:
转载保留版权:小松博客» Nginx 502 Bad Gateway错误的解决方式
本文链接地址:https://www.phpsong.com/221.html

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
木有头像就木有JJ!点这里按步骤申请Gravatar头像吧!

网友最新评论 (1)

加载中,请稍候...
  1. test
    小松2年前 (2015-02-03)回复