您现在的位置: 网站首页 / 网络营销 / 正文

502 bad gateway是什么意思,怎么解决502 Bad Gateway?

作者: 叶落荒原 发布: 2013-5-3 分类: 网络营销 阅读: 次 查看评论

一.什么是502 bad gateway 简单来说 502 是报错类型代码 bad gateway 错误的网关 二.出现502 bad gateway如何解决问题 最简单的方法:CTRL+F5强制刷新 最好的解决办法当然还是在服务器上做 对大家来说不太可能 ,那么我们有什么解救的方法呢?说白了很简单,就是——刷新(不是一般的刷新哦)    刷新的原理 :很多人可能不知道 刷新也是有两种的。所谓刷新其实就是从服务器下载数据到本地的硬盘浏览器, 再从本地硬盘种读取数据到浏览器显示给我们看。    ①基本刷新:就是点击刷新或者使用F5快捷键,基本刷新只是从本地的硬盘重新拿取数据到浏览器,并不重新向服务器发出请求。大部分用户很多时候都是这样刷新的,遇到502报错的就没有任何效果。    ②从服务器刷新: 如果你重新直接点击你想要浏览的网页链接,你会发现刚才还是显示502 bad getway的页面现在又可以正常浏览了!明白道理了吧?当你点击你想要浏览的网页链接的时候,是会从服务器重新下载数据的。 解决方法就是从服务器上刷新:快捷键 ctrl+F5,这样就是重新向服务器发送请求了。如果服务器能正常给予你响应你就可以看到页面了。  三.解决之后,我们在看下502 bad gateway是如何产生的 连接超时 我们向服务器器发送请求 由于服务器当前链接太多,导致服务器方面无法给于正常的响应,产生此类报错    502 Bad Gateway  产生原因   服务器(不一定是Web服务器)是作为网关或代理,以满足客户的要求(如Web浏览器或我们的CheckUpDown机器人)来访问所请求的URL 。此服务器收到无效响应从上游服务器访问履行它的要求。   含义   这通常并不意味着上游服务器已关闭(无响应网关/代理) ,而是上游服务器和网关/代理不同意的协议交换数据。鉴于互联网协议是相当清楚的,它往往意味着一个或两个机器已不正确或不完全编程。   502错误的HTTP周期   任何客户端(如Web浏览器或我们的CheckUpDown机器人)经过下列循环时,沟通与您的Web服务器:   获取IP地址的IP名称您的网站(您的网站URL的领导’ http:// ‘ ) 。这查找(转换的知识产权名称, IP地址)所提供的域名服务器( DNSs ) 。   打开一个IP套接字连接到该IP地址。   写一个HTTP数据流通过该插座。   收到一个HTTP数据流从您的Web服务器的响应。此数据流包含状态码的值是由HTTP协议。解析此数据流的状态码和其他有用信息。   这个错误发生在最后一步时,上面的客户端收到一个HTTP状态码,它承认为502 ‘ 。   固定502错误   一般这个问题是由于不良的IP之间的沟通后端计算机,可能包括在Web服务器上的网站您尝试访问。在分析这个问题,您应该清除浏览器缓存完全。   如果您在网上冲浪,看这个问题的所有网站您尝试访问,然后选择   1 )你的ISP了重大设备故障/过载或   2 )有问题的内部互联网连接如您的防火墙无法正常运作。   在第一种情况下,只有您的ISP可以帮助您。在第二种情况下,你需要解决什么,那就是阻止你进入互联网。   如果您收到此问题只有部分网站您尝试访问那就很可能是一个问题,即这些网站之一,其设备未能/超载。联系的人在这些地点。   固定502错误- CheckUpDown   使用代理和缓存的增加在网络上。我们CheckUpDown机器人将总是试图’钻通过’的真正的计算机主机,实际上您的网站,但是我们并不拥有完全的控制,我们的HTTP请求实际上结束了。如果只有一个环节的计算机处理我们的HTTP请求被打破,然后一个错误,如502可以很容易地发生。 使用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进程数可以修改php-fpm.conf中的max_children的数值,高峰时php-cgi耗掉的最大内存为20M,请根据自己的内存情况计算了。    限制php执行时间可以在php-fpm.conf中的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的等待时间,可以适当增加nginx.conf配置文件中FastCGI的timeout时间,例如:   在做第一步的时候,系统当前的PHP FastCGI进程数明显超过了预设值的64这个数值,在电信的服务器上查看当前的PHP FastCGI进程数没有高于64这个数值,而且网通线路的活动连接明显高于电信的活动连接,准备到晚上的时候看看情况,结果到晚上22:30的时候,查看系统当前的PHP FastCGI进程数明显小于64预设值,当前的活动连接也比原来低很多,由此可以说明出现nginx不稳定的情况是由于服务器访问负载过大引起的,就是加上第二步的错误也不顶作用。   总结,php-cgi进程数不够用、php执行时间长、或者是php-cgi进程死掉,都会出现502错误

« 上一篇下一篇 » 原创文章,转载请注明出处!标签: 502  gateway  什么意思  解决方法  

苏州网络营销广告征集中,详情联系369822816

评论列表:

说两句吧:

必填

选填

选填

必填,不填不让过哦,嘻嘻。

记住我,下次回复时不用重新输入个人信息

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

控制面板
网站分类
搜索
最新留言
友情链接