NGINX 502 Bad Gateway错误是FastCGI有问题,造成NGINX 502错误的可能性比较多。将网上找到的一些和502 Bad Gateway错误有关的问题和排查方法列一下,先从FastCGI配置入手:
1.FastCGI进程是否已经启动
2.FastCGI worker进程数是否不够
运行 netstat -anpo | grep “php-cgi” | wc -l 判断是否接近FastCGI进程,接近配置文件中设置的数值,表明worker进程数设置太少
参见:http://blog.s135.com/post/361.htm
3.FastCGI执行时间过长
根据实际情况调高以下参数值
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
4.FastCGI Buffer不够
nginx和apache一样,有前端缓冲限制,可以调整缓冲参数
fastcgi_buffer_size 32k;
fastcgi_buffers 8 32k;
参见:http://www.hiadmin.com/nginx-502-gateway-error%E4%B8%80%E4%BE%8B/
5.Proxy Buffer不够
如果你用了Proxying,调整
proxy_buffer_size 16k;
proxy_buffers 4 16k;
参见:http://www.ruby-forum.com/topic/169040
6.https转发配置错误
正确的配置方法
server_name www.mydomain.com;
location /myproj/repos {
set $fixed_destination $http_destination;
if ( $http_destination ~* ^https(.*)$ )
{
set $fixed_destination http$1;
}
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Destination $fixed_destination;
proxy_pass http://subversion_hosts;
}
参见:http://www.ruby-forum.com/topic/169040
当然,还要看你后端用的是哪种类型的FastCGI,我用过的有php-fpm,流量约为单台机器500万PV(动态页面), 现在基本上没有碰到502。
http://www.zdewen.cn
分享到:
相关推荐
Nginx 502 bad gateway问题的解决方法,希望能帮忙大家
Nginx常见故障Nginx 502 Bad Gateway解决方案汇总,主要针对phpWeb服务器,有需要的朋友可以下载收藏
nginx+php-fpm解决502 Bad Gateway.zip
一些运行在Nginx上的网站有时候会出现“502 Bad Gateway”错误,有些时候甚至频繁的出现。以下是小编搜集整理的一些Nginx 502错误的排查方法,供参考: Nginx 502错误的原因比较多,是因为在代理模式下后端服务器...
Nginx 502 Bad Gateway 的错误已经遇到好几次了,这里做一下记录,备忘哈哈。 会有好多种情况出现502错误,下面我们分情况来说一下。 一、fastcgi缓冲区设置过小 出现错误,首先要查找nginx的日志文件,目录为/...
本篇文章是对Nginx 502 Bad Gateway错误的解决方法进行了详细的分析介绍,需要的朋友参考下
主要介绍了Nginx 502 Bad Gateway错误常见的4种原因和解决方法,本文适用FastCGI环境,其中多数原因通过配置相关参数即可解决,需要的朋友可以参考下
最近服务器宕机的现象比较频繁,临下班时分,G给挂掉了,502 Bad Gateway Nginx,不由得让我想起之前的504 Gateway Time-out,两者应该有点联系,一定得弄清楚。Nginx 504 Gateway Time-out的含义是所请求的网关没有...
今天登陆博客,显示502 bad gateway,NGINX最烦人的地方就是经常会出现这个错误,由于我并不打算在技术上花费过多的时间,所以一般是遇到了相关问题,通过搜索引擎解决后即可,不会去深究。废话不多说,说说我的坎坷...
nginx安装wordpress 502 Bad Gateway.docx
主要介绍了nginx加php-fpm环境中出现502 bad gateway错误的5种解决方法,总结归纳服务器出现502错误的原因多数为连接过多和脚本超时,本文总结了5种解决方法,需要的朋友可以参考下
我让按照以下两个步骤去解决,最后在第2步中将FastCGI的timeout时间增加为300,问题解决: PS:比较羡慕迅雷的Web服务器,16G内存。 1、查看当前的PHP FastCGI进程数是否够用: netstat -anpo | grep “php-cgi” | ...
常见的Nginx 502 Bad Gateway解决办法如下: Nginx 502错误情况1: 网站的访问量大,而php-cgi的进程数偏少。 针对这种情况的502错误,只需增加php-cgi的进程数。具体就是修改/usr/local/php/etc/php-fpm.conf ...
fastcgi_send_timeout 300; fastcgi_read_timeout 300;... 您可能感兴趣的文章:Nginx 502 bad gateway和Nginx 504 Gateway Time-out错误解决方法 错误解决办法Nginx 遇到502 Bad Gateway 自动重启的脚本代
原理就是用curl获取HTTP头,发现502状态码就执行重启php-fpm的命令。 代码如下: #!...!... for($i = 0; $i < 5 xss=removed>/dev/null”; $res = shell_exec&#... if(stripos($res, ‘502 Bad Gateway’) !== false){ shell_