linux教程之502 bad gateway是甚么意义 502 bad gateway毛病办理办法
开发linux发行版的人都是通读过linux内核代码,对linux原理极其精通的人。您能够实验扫除扫瞄器缓存会见一下你的FTP看是不是能够上岸
发生缘故原由
服务器(纷歧定是Web服务器)是作为网关或代办署理,以满意客户的请求(如Web扫瞄器或我们的CheckUpDown呆板人)来会见所哀求的URL。此服务器收到有效呼应从下游服务器会见实行它的请求。
流动502毛病
一样平常这个成绩是因为不良的IP之间的相同后端盘算机,包含您大概实验会见的在Web服务器上的网站。在剖析这个成绩,您应当扫除扫瞄器缓存完整。
假如您上彀时在您实验会见的一切网站上都看这个成绩,有两种大概
1)你的ISP了严重设备妨碍/过载或
2)有成绩的外部互联网毗连如您的防火墙没法一般运作。
在第一种情形下,只要您的ISP能够匡助您。在第二种情形下,你必要办理甚么,那就是制止你进进互联网。
假如您只要在部分实验会见的网站中呈现此成绩,那就极可能是一个成绩,即这些网站之一,其设备妨碍或超载。接洽网站的办理员。
关于502badgetway报错的办理举措普通注释一下
1.甚么是502badgetway报错
复杂来讲502是报错范例代码badgetway毛病的网关
2.发生毛病的缘故原由
毗连超时我们向服务器器发送哀求因为服务器以后链接太多,招致服务器方面没法给于一般的呼应,发生此类报错
3.拯救的举措
最好的办理举措固然仍是在服务器上做对人人来讲不太大概
那末我们有甚么拯救的办法呢?
说白了很复杂
就是――革新(不是一样平常的革新哦)
革新的道理:良多人大概不晓得革新也是有两种的。
所谓革新实在就是从服务器下载数据到当地的硬盘扫瞄器,
再从当地硬盘种读取数据到扫瞄器显现给我们看。
①基础革新:就是点击革新大概利用F5快速键
基础革新只是从当地的硬盘从头拿取数据到扫瞄器,其实不从头向服务器收回哀求。
年夜部分用户良多时分都是如许革新的,碰到502报错的就没有任何效果。
②从服务器革新:假如你从头间接点击你想要扫瞄的网页链接,你会发明方才仍是显现502badgetway的页面如今又能够一般扫瞄了!
分明事理了吧?当你点击你想要扫瞄的网页链接的时分,是会从服务重视新下载数据的。
办理办法就是从服务器上革新:快速键ctrl+F5,如许就是从头向服务器发送哀求了。
假如服务器能一般赐与你呼应你就能够看到页面了。
深切剖析Nginx502BadGateway和Nginx504GatewayTime-out及其办理
Nginx502BadGateway的寄义是哀求的PHP-CGI已实行,可是因为某种缘故原由(通常为读取资本的成绩)没有实行终了而招致PHP-CGI历程停止。
Nginx504GatewayTime-out的寄义是所哀求的网关没有哀求到,复杂来讲就是没有哀求到能够实行的PHP-CGI。
办理这两个成绩实际上是必要综合思索的,一样平常来讲Nginx502BadGateway和php-fpm.conf的设置有关,而Nginx504GatewayTime-out则是与nginx.conf的设置有关。
而准确的设置必要思索服务器本身的功能和访客的数目等多重要素。
以我今朝的服务器为例子CPU是奔四1.5G的,内存1GB,CENTOS的体系,访客也许是50人摆布同时在线。
可是在线的人多数必要哀求PHP-CGI举行大批的信息处置,因而我将nginx.conf设置为:
fastcgi_connect_timeout300s;
fastcgi_send_timeout300s;
fastcgi_read_timeout300s;
fastcgi_buffer_size128k;
fastcgi_buffers8128k;#8128
fastcgi_busy_buffers_size256k;
fastcgi_temp_file_write_size256k;
fastcgi_intercept_errorson;
这里最次要的设置是前三条,即
fastcgi_connect_timeout300s;
fastcgi_send_timeout300s;
fastcgi_read_timeout300s;
这里划定了PHP-CGI的毗连、发送和读取的工夫,300秒充足用了,因而我的服务器很少呈现504GatewayTime-out这个毛病。最关头的是php-fpm.conf的设置,这个会间接招致502BadGateway和504GatewayTime-out。
上面我们来细心剖析一下php-fpm.conf几个主要的参数:
php-fpm.conf有两个相当主要的参数,一个是"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逝世失落而呈现502Badgateway这个毛病。
而"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就会"很累",处置速率也很慢,守候的工夫也较长。假如长工夫没有失掉处置的哀求就会呈现504GatewayTime-out这个毛病,而正在处置的很累的那几个php-cgi假如碰到了成绩就会呈现502Badgateway这个毛病。
Nginx502badgateway毛病办理办法
利用Nginx作为Web服务器的时分,你或多或少城市碰到Nginx502badgateway的毛病,形成这类毛病的缘故原由有良多。上面我们来逐一剖析。
1、检察php-cgi是不是在运转
偶然候因为网站流量过年夜大概别的缘故原由,招致php-cgi间接down失落,以是我们得看php-cgi是不是在运转。实行以下命令:
ps-A|grepphp5-cgi
假如没有运转,手动启动
/etc/init.d/php_cgistart
假如你发明php-cgi不明缘故原由偶然候down失落,可使用上面的剧本一时办理这个成绩,增加到cronjob。
ifpsaux|grep‘php5-cgi|grep-vgrep>/dev/null;thenecho"PHP-cgiisrunnning!"elseecho"PHP-cgiisdown.Startingover…"/etc/init.d/php-fcgistartfi2、fastcgi历程数不敷用、php实行工夫长的缘故原由
fastcgi历程数能够修正php-fpm.conf中的max_children的数值,岑岭时php-cgi耗失落的最年夜内存为20M,请依据本人的内存情形盘算了。
限定php实行工夫能够在php-fpm.conf中的request_terminate_timeout设置,这是为了避免php程序的bug招致php-cgi假逝世。
3、FastCGI实行工夫太长
依据实践情形调高以下参数值
fastcgi_connect_timeout300;fastcgi_send_timeout300;fastcgi_read_timeout300;
除下面列出的三种情形,固然还会有别的缘故原由,但下面三种情形是最多见的
比来几天发明网通线路的服务器呈现流量不不乱的情形,详细的体现是,流量时而高,时而低,在流量低的时分发明体系的负载很小,几近为0,可是过一会,负载又高上往,流量也上往,非常奇异,查找了2天没有找到缘故原由,厥后看到一边文章,先容懂得决nginx呈现502的毛病征象,依照这个办法举行实验,终极仍是找到了成绩的缘故原由。
办理步骤以下:
1、检察以后的PHPFastCGI历程数是不是够用
netstat-anpo|grep"php-cgi"|wc-l
假如实践利用的"FastCGI历程数"靠近预设的"FastCGI历程数",那末,申明"FastCGI历程数"不敷用,必要增年夜。
2、部分PHP程序的实行工夫凌驾了Nginx的守候工夫,能够得当增添nginx.conf设置文件中FastCGI的timeout工夫,比方:
在做第一步的时分,体系以后的PHPFastCGI历程数分明凌驾了预设值的64这个数值,在电信的服务器上检察以后的PHPFastCGI历程数没有高于64这个数值,并且网通线路的举动毗连分明高于电信的举动毗连,筹办到早晨的时分看看情形,了局到早晨22:30的时分,检察体系以后的PHPFastCGI历程数分明小于64预设值,以后的举动毗连也比本来低良多,由此能够申明呈现nginx不不乱的情形是因为服务器会见负载过年夜引发的,就是加上第二步的毛病也不顶感化。
总结,php-cgi历程数不敷用、php实行工夫长、大概是php-cgi历程逝世失落,城市呈现502毛病
系统管理相关命令:df、top、free、quota、at、lp、adduser、groupaddkill、crontab、tar、unzip、gunzip、last 我们这一代90后,从小接触的是windows98,家里条件好的自己有电脑装的是2000,后来又有了XP,上大学时又有了win7。 Linux高手更具有鼓励新手的文化精神。如何在Linux社区获得帮助,需要说明的是你要有周全的思考,准备好你的问题,不要草率的发问。 尽我能力帮助他人,在帮助他人的同时你会深刻巩固知识。 为了更好的学习这门课程,我不仅课上认真听讲,课下也努力学习,为此还在自己的电脑上安装了Ubuntu系统。 你需要提供精确有效的信息。Linux这并不是要求你简单的把成吨的出错代码或者数据完全转储摘录到你的提问中。 我想即使Linux高手也很难快速准确精练的回答你。 把这个问题放在其他Linux社区请求帮助也是一种选择。如果Linux得不到答案,请不要以为我们觉得无法帮助你。有时只是看到你问题的人不知道答案罢了。这时换一个社区是不错的选择。 得到到草率的回答或者根本得不到任何Linux答案。越表现出在寻求帮助前为解决问题付出的努力,你越能得到实质性的帮助。
页:
[1]