502 Bad Gateway是一种报错提示,这一错误并不意味着上游服务器已关闭(无响应网关/ *** ),而是上游服务器和网关/ *** 不同意的协议交换数据。
之一种原因:目前lnmp一键安装包比较多的问题就是502 Bad Gateway,大部分情况下原因是在安装php前,脚本中某些lib包可能没有安装上,造成php没有编译安装成功。解决办法:可以尝试根据lnmp一键安装包中的脚本手动安装一下,看看是什么错误导致的。
第二种原因:在php.ini里,eaccelerator配置项一定要放在Zend Optimizer配置之前,否则也可能引起502 Bad Gateway
第三种原因:在安装好使用过程中出现502问题,一般是因为默认php-cgi进程是5个,可能因为phpcgi进程不够用而造成502,需要修改/usr/local/php/etc/php-fpm.conf 将其中的max_children值适当增加。
第四种原因:php执行超时,修改/usr/local/php/etc/php.ini 将max_execution_time 改为300。
第五种原因:磁盘空间不足,如mysql日志占用大量空间。
第六种原因:查看php-cgi进程是否在运行。
另外的解决办法:
Nginx 502 Bad Gateway的含义是请求的PHP-CGI已经执行,但是由于某种原因(一般是读取资源的问题)没有执行完毕而导致PHP-CGI进程终止,一般来说Nginx 502 Bad Gateway和php-fpm.conf的设置有关。
php-fpm.conf有两个至关重要的参数,一个是max_children,另一个是request_terminate_timeout,但是这个值不是通用的,而是需要自己计算的。
在安装好使用过程中出现502问题,一般是因为默认php-cgi进程是5个,可能因为phpcgi进程不够用而造成502,需要修改/usr/local/php/etc/php-fpm.conf 将其中的max_children值适当增加。
计算的方式如下:如果服务器性能足够好,且宽带资源足够充足,PHP脚本没有系循环或BUG的话可以直接将 request_terminate_timeout设置成0s。0s的含义是让PHP-CGI一直执行下去而没有时间限制。如果做不到这一点,也就 是说PHP-CGI可能出现某个BUG,或者宽带不够充足或者其他的原因导致PHP-CGI假死那么就建议给 request_terminate_timeout赋一个值,这个值可以根据服务器的性能进行设定。一般来说性能越好可以设置越高,20分钟-30分 钟都可以。
而max_children这个值又是怎么计算出来的呢?这个值原则上是越大越好,php-cgi的进程多了就会处理的很快,排队的请求就会很少。 设置max_children也需要根据服务器的性能进行设定,一般来说一台服务器正常情况下每一个php-cgi所耗费的内存在20M左右。
按照官方的答案,排查了相关的可能,并结合了网友的答案,得出了下面的解决办法:
1、查看php fastcgi的进程数(max_children值)代码:netstat -anpo | grep “php-cgi” | wc -l
5(假如显示5)
2、查看当前进程,代码:top观察fastcgi进程数,假如使用的进程数等于或高于5个,说明需要增加(根据机器实际状况而定)
3、调整/usr/local/php/etc/php-fpm.conf 的相关设置
value name=”max_children”10/value
value name=”request_terminate_timeout”60s/value
max_children最多10个进程,按照每个进程20MB内存,最多200MB。
request_terminate_timeout执行的时间为60秒,也就是1分钟。
服务器负载均衡挡不住攻击的流量,说明你的网站被攻击比较大。
502 Bad Gateway是一种报错提示,这一错误并不意味着上游服务器已关闭(无响应网关/ *** ),而是上游服务器和网关/ *** 不同意的协议交换数据。
服务器的问题:这是我首要怀疑目标,因为最近不知道是否存在恶意攻击,网站经常会出现一些问题而无法访问。而网站服务器出问题了,流量自然也就开始
暴跌。等等,可是我想不明白,之前网站出问题,就是彻底的没流量显示,而本次的情况是:网站有流量,而且我用手机试过是可以访问的。所以初步排除了服务器
的导致网站流量暴跌的嫌疑,不过笔者发稿前的确发现服务器存在问题,但之前可以访问的时候,小时流量也和日常相差甚远啊,这又如何解释?
搜索引擎惩罚:这不是没可能,在中国大陆地区像笔者这类型的资讯网站,从搜索引擎来的流量是占很大比率的,特别是百度的流量。而如果此刻百度来
一个算法调整把网站给K了,那么出现流量暴跌也不足为奇。考虑到百度官方最近发布说要升级石榴算法的通告,笔者开始网站遭遇惩罚的可能性(石榴算法的误
杀)。可是当我再次分析统计数据的时候,我发现来自百度流量在所有搜索引擎中所占比率并没有出现大的变化,依然是70%左右的份额。显然这说不通,因为如
果百度惩罚了网站,那么这个比率肯定是有很大变化的。而所有搜索引擎同时调整算法的可能性几乎是不可能的,所以百度惩罚的可能性也被排除。
流量统计工具故障:于是笔者开始怀疑是不是自己使用的百度统计这款流量统计工具的功能出现了什么问题?我随后前往百度统计官网查看时候有更新的
公告,结果并没有什么发现。不过还是没有足够有说服力的资料证明统计工具没问题,因为并不是任何时候任何调整都会、或者及时的公布。所以这个疑点暂时保
留。
意外的结局
其他问题:难道是笔者前天添加的加速乐服务出现了故障?于是笔者迅速的将加速乐服务去掉了。可就在这个时候,我突然发现网站出现了502的故
障。随后联系技术人员解决服务器问题后并去掉加速乐服务后,网站流量恢复正常。那我就奇怪了,这到底是什么问题导致的流量暴跌?或许现在合情理的解释只有
四个了:一是服务器的电信、联通、移动等某宽带线路出故障(不过这种情况之前从未有过)、二是加速乐的电信、联通、移动等某宽带线路出故障或者其他问题、
三是统计工具真的有问题,并刚好在我去掉加速乐以及解决服务器问题的时候OK了、四是被黑客攻击了。
那么用什么 *** 解决以上问题?或许只有花更多的钱去买一个防御更给力、基于云的几乎0故障率的高效服务器了。
502 Bad Gateway是一种报错提示,这一错误并不意味着上游服务器已关闭(无响应网关/ *** ),而是上游服务器和网关/ *** 不同意的协议交换数据。
之一种原因:目前lnmp一键安装包比较多的问题就是502 Bad Gateway,大部分情况下原因是在安装php前,脚本中某些lib包可能没有安装上,造成php没有编译安装成功。解决办法:可以尝试根据lnmp一键安装包中的脚本手动安装一下,看看是什么错误导致的。
第二种原因:在php.ini里,eaccelerator配置项一定要放在Zend Optimizer配置之前,否则也可能引起502 Bad Gateway
第三种原因:在安装好使用过程中出现502问题,一般是因为默认php-cgi进程是5个,可能因为phpcgi进程不够用而造成502,需要修改/usr/local/php/etc/php-fpm.conf 将其中的max_children值适当增加。
第四种原因:php执行超时,修改/usr/local/php/etc/php.ini 将max_execution_time 改为300。
第五种原因:磁盘空间不足,如mysql日志占用大量空间。
第六种原因:查看php-cgi进程是否在运行。
另外的解决办法:
Nginx 502 Bad Gateway的含义是请求的PHP-CGI已经执行,但是由于某种原因(一般是读取资源的问题)没有执行完毕而导致PHP-CGI进程终止,一般来说Nginx 502 Bad Gateway和php-fpm.conf的设置有关。
php-fpm.conf有两个至关重要的参数,一个是max_children,另一个是request_terminate_timeout,但是这个值不是通用的,而是需要自己计算的。
在安装好使用过程中出现502问题,一般是因为默认php-cgi进程是5个,可能因为phpcgi进程不够用而造成502,需要修改/usr/local/php/etc/php-fpm.conf 将其中的max_children值适当增加。
计算的方式如下:如果服务器性能足够好,且宽带资源足够充足,PHP脚本没有系循环或BUG的话可以直接将 request_terminate_timeout设置成0s。0s的含义是让PHP-CGI一直执行下去而没有时间限制。如果做不到这一点,也就 是说PHP-CGI可能出现某个BUG,或者宽带不够充足或者其他的原因导致PHP-CGI假死那么就建议给 request_terminate_timeout赋一个值,这个值可以根据服务器的性能进行设定。一般来说性能越好可以设置越高,20分钟-30分 钟都可以。
而max_children这个值又是怎么计算出来的呢?这个值原则上是越大越好,php-cgi的进程多了就会处理的很快,排队的请求就会很少。 设置max_children也需要根据服务器的性能进行设定,一般来说一台服务器正常情况下每一个php-cgi所耗费的内存在20M左右。
按照官方的答案,排查了相关的可能,并结合了网友的答案,得出了下面的解决办法:
1、查看php fastcgi的进程数(max_children值)代码:netstat -anpo | grep “php-cgi” | wc -l
5(假如显示5)
2、查看当前进程,代码:top观察fastcgi进程数,假如使用的进程数等于或高于5个,说明需要增加(根据机器实际状况而定)
3、调整/usr/local/php/etc/php-fpm.conf 的相关设置
value name=”max_children”10/value
value name=”request_terminate_timeout”60s/value
max_children最多10个进程,按照每个进程20MB内存,最多200MB。
request_terminate_timeout执行的时间为60秒,也就是1分钟。
1、解释:
502 Bad Gateway是指错误网关;无效网关;在互联网中表示一种 *** 错误。表现在WEB浏览器中给出的页面反馈。
2、产生原因
服务器(不一定是Web服务器)是作为网关或 *** ,以满足客户的要求(如Web浏览器或我们的CheckUpDown机器人)来访问所请求的URL 。此服务器收到无效响应从上游服务器访问履行它的要求。
含义:这通常并不意味着上游服务器已关闭(无响应网关/ *** ) ,而是上游服务器和网关/ *** 不同意的协议交换数据。鉴于互联网协议是相当清楚的,它往往意味着一个或两个机器已不正确或不完全编程。
3、解决办法
更好的解决办法当然还是在服务器上做 对大家来说不太可能
那么我们有什么解救的 *** 呢?
说白了 很简单
就是——刷新(不是一般的刷新哦)
刷新的原理:很多人可能不知道 刷新也是有两种的。
所谓刷新其实就是从服务器下载数据到本地的硬盘浏览器,再从本地硬盘中读取数据到浏览器显示给我们看。
①基本刷新:就是点击刷新或者使用F5快捷键
基本刷新只是从本地的硬盘重新拿取数据到浏览器,并不重新向服务器发出请求。大部分用户很多时候都是这样刷新的,遇到502报错的就没有任何效果。
②从服务器刷新: 如果你重新直接点击你想要浏览的网页链接,你会发现显示"502 bad gateway"错误信息的页面在点击链接后又可以正常浏览。
解决 *** 就是从服务器上刷新:快捷键 ctrl+F5,这样就是重新向服务器发送请求了。
如果服务器能正常给予你响应你就可以看到页面了。
编辑导语:ER建模你知道是什么吗?对付产物司理来说必需重视ER建模事情,它抉择了软件产物的扩展性和机动性。本文作者通过例举了某在线教诲公司的ER建模的例子,让各人在老王和小李的对话中,揭示ER建模的魅...
此刻有不少加盟商都在咨询啁末食光加盟项目怎么样?啁末食光加盟项目在市场上有着很高的知名度,选择加盟的话长短常不错的,那么啁末食光加盟热线是什么?加盟能赚几多钱?关于这两个问题呢,是许多加盟商都想要知道...
老师:“你讲讲,‘举世无双’一词的意思。” 学生:“‘举世’,就是出世,‘无双’,就是无双亲。‘举世无双,就 是一出世就没有父母呗!” 小学时,偶一不小心染上腮腺炎。因为期末了,班主任怕...
2月2日,由抖音出品的贺岁片《绣球》温暖上线,影片传递关注的力量成最强吸睛点。抖音一如既往地将视角对准了你我身边的普通人,通过《绣球》关注普通人,以及普通人因为被关注而引发的不平凡的故事。 《绣...
近日,CBNData星数发布《手机品类明星带货力榜单》,易烊千玺以综合实力第一的成绩排名榜首。 《手机品类明星带货力榜单》 TF三子虽然年轻,但代言手机的历史都不短。2016年,三人一齐代言O...
洋气两个字畜牧商业公司取名名字大全打分 供销畜牧商业公司 71.71分 以远畜牧商业公司 28.53分 琴师畜牧商业公司 18.99分 衣胞畜牧商业公司 82.57分...