php502 bad gateway是什么意思?

如题所述

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怎么办?
打开网页时显示502 bad gateway是指错误无效的网关。一般的我们打开网页时出现502 Bad Gateway,说明服务器没有响应,也就是我们的WEB服务器没有接到有效的信息导致的。可以尝试以下方法解决:一、基本刷新需要打开的网页 右击刷新、按F5刷新、或按浏览器上的刷新按钮。这个方法能解决一部分人的问题。二、...

报错502badgateway是什么意思,怎么解决
502 Bad Gateway是HTTP状态码的一种,表示作为网关或者代理的服务器从上游服务器收到了无效的响应。简单来说,就是网络请求在服务器之间传输时,遇到了问题,导致无法完成请求。这可能是由于服务器之间的连接问题、服务器配置问题或是上游服务器宕机等原因造成的。解决方案:1. 检查服务器连接: 确认服务...

php 502 bad gateway怎么解决
502 Bad Gateway是一种报错提示,这一错误并不意味着上游服务器已关闭(无响应网关\/代理),而是上游服务器和网关\/代理不同意的协议交 第一种原因:目前lnmp一键安装包比较多的问题就是502 Bad Gateway,大部分情况下原因是在安装php前,脚本中某些lib包可能没有安装上,造成php没有编译安装成功。解决办法...

php 502 bad gateway怎么解决
502 bad gateway 是常见的网络错误,意即“错误的网关”。通常这类错误,大多原因是服务器与客户端通讯出现故障,对于普通用户(客户端)来说,可尝试解决办法如下:1、检查电脑的网络畅通情况(防火墙设置等)。2、清空本地浏览器缓存,再重新访问。3、重新点击浏览的网页链接(或按 Ctrl+F5 刷新)。

502 Bad Gateway是什么意思?
1、502 Bad Gateway是指错误网关,无效网关;在互联网中表示一种网络错误,表现在WEB浏览器中给出的页面反馈。1.什么是502 bad gateway 报错 简单来说 502 是报错类型代码 bad gateway 错误的网关。2.产生错误的原因 连接超时。我们向服务器发送请求 由于服务器当前链接太多,导致服务器方面无法给于...

502badgateway是什么意思?怎么打不开网站
502 Bad Gateway是一种HTTP状态码,表示作为网关或代理的服务器从上游服务器收到了无效的响应。这通常意味着网站无法打开或加载。以下是关于502 Bad Gateway的 一、502 Bad Gateway的含义 当您尝试访问一个网站时,如果遇到了502 Bad Gateway错误,这通常意味着充当网关或代理的服务器在尝试获取请求的资源...

502badgateway什么意思
1解释502 Bad Gateway是指错误网关无效网关在互联网中表示一种网络错误表现在WEB浏览器中给出的页面反馈2产生原因 服务器不一定是Web服务器是作为网关或代理,以满足客户的要求如Web浏览器或我们的;502 Bad Gateway是指错误网关,无效网关1简单来说502是报错类型代码badgateway错误的网关2产生错误的原因,...

502badgateway是啥意思
答案:502 Bad Gateway是一个HTTP状态码,表示作为网关或代理的服务器从上游服务器收到了无效的响应。简单来说,当服务器无法完成它作为网关的角色时,就会出现这个错误。它通常意味着网络作为数据传输的通道出现了问题。解释:1. HTTP状态码简介:在Web浏览过程中,HTTP状态码是服务器对客户端请求的反应...

502 bad gateway是什么意思啊?
一、502 bad gateway含义 502 bad gateway英文翻译为502类型的错误或无效网关,其中502指的是报错类型代码。二、产生502 bad gateway报错原因 出现502 bad gateway的原因有多种,本质上是我们在连接服务器时向服务器发送请求失败,有可能是服务器当前链接太多,导致服务器方面无法给于正常的响应,产生此类...

502 bad gateway是什么意思?
502 Bad Gateway是指错误网关,无效网关。1、简单来说502是报错类型代码badgateway错误的网关。2、产生错误的原因,连接超时我们向服务器发送请求与服务器当前链接太多,导致服务器方面无法给予正常的响应,产生此类报错。3、解救的办法:最好的解决办法当然还是在服务器上做,但对大家来说不太现实,所以我...

相似回答
大家正在搜