502badgateway是什么意思502badgateway错误解决⽅法您可以尝试清除浏览器缓存访问⼀下你的FTP看是否可以登陆
成功解决502 Bad Gateway错误
Google后就有朋友给出
httpd: Syntax error on line 54 of /usr/local/apache/f: module rewrite_module is built-in and can't be loaded
表⽰模块是内建的,不⽤再调⼊,注释掉
#LoadModule rewrite_module modules/mod_rewrite.so
以下是补充:
然后,照着注释掉后,重启web 服务器,果然OK,来来回回,前前后后搞了不少时间,主要还是⼀个思路问题吧。先出问题在哪,再出解决问题的⽅法才⾏。这⾥主要⽤于做记录,留着以后备⽤。产⽣原因
服务器(不⼀定是Web服务器)是作为⽹关或代理,以满⾜客户的要求(如Web浏览器或我们的CheckUpDown机器⼈)来访问所请求的URL 。此服务器收到⽆效响应从上游服务器访问履⾏它的要求。
浏览web是什么意思 固定502错误
⼀般这个问题是由于不良的IP之间的沟通后端计算机,包括您可能尝试访问的在Web服务器上的⽹站。在分析这个问题,您应该清除浏览器缓存完全。
如果您上⽹时在您尝试访问的所有⽹站上都看这个问题,有两种可能
1 )你的ISP了重⼤设备故障/过载或
2 )有问题的内部互联⽹连接如您的防⽕墙⽆法正常运作。
在第⼀种情况下,只有您的ISP可以帮助您。在第⼆种情况下,你需要解决什么,那就是阻⽌你进⼊互联⽹。
如果您只有在部分尝试访问的⽹站中出现此问题,那就很可能是⼀个问题,即这些⽹站之⼀,其设备故障或超载。联系⽹站的管理员。
关于502 bad getway报错的解决办法通俗解释⼀下
1.什么是502 bad getway 报错
简单来说 502 是报错类型代码 bad getway 错误的⽹关
2.产⽣错误的原因
连接超时我们向服务器器发送请求由于服务器当前链接太多,导致服务器⽅⾯⽆法给于正常的响应,产⽣此类报错
3.解救的办法
最好的解决办法当然还是在服务器上做对⼤家来说不太可能
那么我们有什么解救的⽅法呢?
说⽩了很简单
就是——刷新(不是⼀般的刷新哦)
刷新的原理:很多⼈可能不知道刷新也是有两种的。
所谓刷新其实就是从服务器下载数据到本地的硬盘浏览器,
再从本地硬盘种读取数据到浏览器显⽰给我们看。
①基本刷新:就是点击刷新或者使⽤F5快捷键
基本刷新只是从本地的硬盘重新拿取数据到浏览器,并不重新向服务器发出请求。
⼤部分⽤户很多时候都是这样刷新的,遇到502报错的就没有任何效果。
②从服务器刷新:如果你重新直接点击你想要浏览的⽹页链接,你会发现刚才还是显⽰502 bad getway的页⾯现在⼜可以正常浏览了!
明⽩道理了吧?当你点击你想要浏览的⽹页链接的时候,是会从服务器重新下载数据的。
解决⽅法就是从服务器上刷新:快捷键 ctrl+F5,这样就是重新向服务器发送请求了。
如果服务器能正常给予你响应你就可以看到页⾯了。
深⼊分析Nginx 502 Bad Gateway和Nginx 504 Gateway Time-out及其解决
Nginx 502 Bad Gateway的含义是请求的PHP-CGI已经执⾏,但是由于某种原因(⼀般是读取资源的问题)没有执⾏完毕⽽导致PHP-CGI进程终⽌。
Nginx 504 Gateway Time-out的含义是所请求的⽹关没有请求到,简单来说就是没有请求到可以执⾏的PHP-CGI。
解决这两个问题其实是需要综合思考的,⼀般来说Nginx 502 Bad Gateway和f的设置有关,⽽Nginx 504 Gateway Time-out则是与f的设置有关。
⽽正确的设置需要考虑服务器⾃⾝的性能和访客的数量等多重因素。
以我⽬前的服务器为例⼦CPU是奔四1.5G的,内存1GB,CENTOS的系统,访客⼤概是50⼈左右同时在线。
但是在线的⼈⼤都需要请求PHP-CGI进⾏⼤量的信息处理,因此我将f设置为:
fastcgi_connect_timeout 300s;
fastcgi_send_timeout 300s;
fastcgi_read_timeout 300s;
fastcgi_buffer_size 128k;
fastcgi_buffers 8 128k;#8 128
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
fastcgi_intercept_errors on;
这⾥最主要的设置是前三条,即
fastcgi_connect_timeout 300s;
fastcgi_send_timeout 300s;
fastcgi_read_timeout 300s;
这⾥规定了PHP-CGI的连接、发送和读取的时间,300秒⾜够⽤了,因此我的服务器很少出现504 Gateway Time-out这个错误。最关键的是f的设置,这个会直接导致502 Bad Gateway和504 Gateway Time-out。
下⾯我们来仔细分析⼀下f⼏个重要的参数:
f有两个⾄关重要的参数,⼀个是"max_children",另⼀个是"request_terminate_timeout"
我的两个设置的值⼀个是"40 ,⼀个是"900 ,但是这个值不是通⽤的,⽽是需要⾃⼰计算的。
计算的⽅式如下:
如果你的服务器性能⾜够好,且宽带资源⾜够充⾜,PHP脚本没有系循环或BUG的话你可以直接
将"request_terminate_timeout"设置成0s。0s的含义是让PHP-CGI⼀直执⾏下去⽽没有时间限制。⽽如果你做不到这⼀点,也就是说你的PHP-CGI可能出现某个BUG,或者你的宽带不够充⾜或者其他的原因导致你的PHP-CGI能够假死那么就建议你给"request_terminate_timeout"赋⼀个值,这个值可以根据你服务器的性能进⾏设定。⼀般来说性能越好你可以设置越⾼,20分钟-30分钟都可以。由于我的服务器PHP脚本需要长时间运⾏,有的可能会超过10分钟因此我设置了900秒,这样不会导致PHP-CGI死掉⽽出现502 Bad gateway这个错误。
⽽"max_children"这个值⼜是怎么计算出来的呢?这个值原则上是越⼤越好,php-cgi的进程多了就会处理的很快,排队的请求就会很少。设置"max_children"也需要根据服务器的性能进⾏设定,⼀般来说⼀台服务器正常情况下每⼀个php-cgi所耗费的内存在20M左右,因此我的"max_children"我设置成40
个,20M*40=800M也就是说在峰值的时候所有PHP-CGI所耗内存在800M以内,低于我的有效内存1Gb。⽽如果我的"max_children"设置的较⼩,⽐如5-10个,那么php-cgi就会"很累",处理速度也很慢,等待的时间也较长。如果长时间没有得到处理的请求就会出现504 Gateway Time-out这个错误,⽽正在处理的很累的那⼏个php-cgi如果遇到了问题就会出现502 Bad gateway这个错误。
Nginx 502 bad gateway错误解决⽅法
使⽤Nginx作为Web服务器的时候,你或多或少都会遇到Nginx 502 bad gateway的错误,造成这种错误的原因有很多。下⾯我们来⼀⼀解析。
⼀、查看php-cgi是否在运⾏
有时候由于⽹站流量过⼤或者其它原因,导致php-cgi直接down掉,所以我们得看php-cgi是否在运⾏。执⾏如下命令:
ps -A | grep php5-cgi
如果没有运⾏,⼿动启动
/etc/init.d/php_cgi start
如果你发现php-cgi不明原因有时候down掉,可以使⽤下⾯的脚本临时解决这个问题,添加到cronjob。
if ps aux | grep ‘php5-cgi' | grep -v grep > /dev/null ; then echo "PHP-cgi is runnning !" else echo "PHP-cgi is down. Starting over…" /etc/init.d/php-fcgi start fi ⼆、fastcgi进程数不够⽤、php执⾏时间长的原因
fastcgi进程数可以修改f中的max_children的数值,⾼峰时php-cgi耗掉的最⼤内存为20M,请根据⾃⼰的内存情况计算了。
限制php执⾏时间可以在f中的request_terminate_timeout设置,这是为了防⽌php程序的bug导致php-cgi假死。
三、FastCGI执⾏时间过长
根据实际情况调⾼以下参数值
fastcgi_connect_timeout 300; fastcgi_send_timeout 300; fastcgi_read_timeout 300;
除了上⾯列出的三种情况,当然还会有其它原因,但上⾯三种情况是最常见的
最近⼏天发现⽹通线路的服务器出现流量不稳定的情况,具体的表现是,流量时⽽⾼,时⽽低,在流量低的时候发现系统的负载很⼩,⼏乎为0,但是过⼀会,负载⼜⾼上去,流量也上去,很是奇怪,查了2天没有到原因,后来看到⼀边⽂
章,介绍了解决nginx出现502的错误现象,按照这个⽅法进⾏尝试,最终还是到了问题的原因。
解决步骤如下:
1、查看当前的PHP FastCGI进程数是否够⽤
netstat -anpo | grep "php-cgi" | wc -l
如果实际使⽤的"FastCGI进程数"接近预设的"FastCGI进程数",那么,说明"FastCGI进程数"不够⽤,需要增⼤。
2、部分PHP程序的执⾏时间超过了Nginx的等待时间,可以适当增加f配置⽂件中FastCGI的timeout时间,例如:
在做第⼀步的时候,系统当前的PHP FastCGI进程数明显超过了预设值的64这个数值,在电信的服务器上查看当前的PHP FastCGI进程数没有⾼于64这个数值,⽽且⽹通线路的活动连接明显⾼于电信
的活动连接,准备到晚上的时候看看情况,结果到晚上22:30的时候,查看系统当前的PHP FastCGI进程数明显⼩于64预设值,当前的活动连接也⽐原来低很多,由此可以说明出现nginx不稳定的情况是由于服务器访问负载过⼤引起的,就是加上第⼆步的错误也不顶作⽤。
总结,php-cgi进程数不够⽤、php执⾏时间长、或者是php-cgi进程死掉,都会出现502错误
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论