本文目录一览:
- 1、手机上网老是错误代码502什么意思?
- 2、运行php文件出现502 bad gateway 怎么解决
- 3、apach php 502 bad gateway怎么解决
- 4、php 502 bad gateway怎么解决
- 5、网站出现502错误,我要怎么解决?
- 6、网站502是怎么回事,该怎样解决
手机上网老是错误代码502什么意思?
手机上复网错误代码502的意思是连接超时,当我们向服务器发送请求,由于服务器当前链接太多,导致服务器方面无法给于正常的响应,就会产生此类报错。
常见的原制因可能是php-cgi进程数不够用、MySQL语句执行慢导致PHP执行时间长、或者是php-cgi进程异常中断,都会出现502错误。
扩展资料:
大多数网站都是通过多个服务器或第三方代理来运行的。如果所在的服务器由于维护或其他原因关闭,网站可能会出现502BadGatewayError页面。唯一的解决办法就是等待服务器完成维护或是修复好故障。
网站防火墙相当于网站的守卫者,保护你的网站免受非法用户的侵入和分布式拒绝服务(DDOS)的攻击。有时,防火墙设置错误会导致防火墙将从内容分发网络(CDN)过来的访问请求视为对服务器的攻击,因此拒绝其访问,从而导致502错误网关。
运行php文件出现502 bad gateway 怎么解决
解决办法:
1.电脑左下角开始--搜索”php.exe“,记录下路径,如我的是C:\xampp\php\
2.点击phpstorm里的configured PHP Interpreter(见下图)
3.点击下图里的红框
4.在下图红框输入步骤1里的php的文件夹路径确认即可。
希望回答对你有帮助,如果有疑问,在后盾人上有详解!
apach php 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基础教学视频看看,也是不错的选择,希望能帮到你,给个采纳吧谢谢(〃ノωノ)
php 502 bad gateway怎么解决
1. php.ini的memory_limit 过小(如果有个别php程序进程需要占用极大内存时这个必须注意)
2. php-fpm.conf中max_children或者max_requests 设置不合理(设置过小会因为没有足够的cgi进程处理请求,设置过大会出现一会儿有响应正常,一会儿等很久才有响应的情况,一般情况下children按 照内存计算,比如说1G设置64,2G128。这个根据实际情况自行调整。另外查看当前的PHP FastCGI进程数是否够用的命令为:netstat -anpo |grep “php-cgi” | wc -l 如果实际使用的“FastCGI进程数”接近预设的“FastCGI进程数”,那么,说明“FastCGI进程数”不够用,需要增大。)
3. 查看nginx错误日志,发现 pstream sent too big header while reading response headerfrom upstream ,则检查client head buffer,fastcgi buffer size是否过小,可设置为32K。
4. php程序执行时间过长而超时,检查nginx和fastcgi中各种timeout设置。(nginx 中的 fastcgi_connect_timeout 300;fastcgi_send_timeout 300 :fastcgi_read_timeout300; keepalive_timeout ; php-fpm中的request_terminate_timeout,php.ini中的max_execution_time)
5. php-fpm有一个参数 max_requests ,该参数指明了每个children最多处理多少个请求后便会被关闭。在大量处理请求下,如果该值设置过小会导致children频繁的自杀和建立而浪费 大量时间,若所有的children差不多都在这个时候自杀,则重建前将没有children响应请求,于是出现502 。可以将该值设置大一些或者是0[无限]。
如果你服务器并发量非常大,那只能先增加机器,然后按以下方式优化会取得更好效果;但如果你并发不大却出现502,一般都可以归结为配置问题,脚本超时问题。
1.php-fpm进程数不够用
使用netstat -napo |grep "php-fpm" | wc -l查看一下当前fastcgi进程个数,如果个数接近conf里配置的上限,就需要调高进程数。
但也不能无休止调高,可以根据服务器内存情况,可以把php-fpm子进程数调到100或以上,在4G内存的服务器上200就可以。
2. 调高调高linux内核打开文件数量
可以使用这些命令(必须是root帐号)
echo 'ulimit -HSn 65536' /etc/profile
echo 'ulimit -HSn 65536' /etc/rc.local
source /etc/profile
3.脚本执行时间超时
如果脚本因为某种原因长时间等待不返回,导致新来的请求不能得到处理,可以适当调小如下配置。
nginx.conf里面主要是如下
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
php-fpm.conf里如要是如下
request_terminate_timeout =10s
4.缓存设置比较小
修改或增加配置到nginx.conf
proxy_buffer_size 64k;
proxy_buffers 512k;
proxy_busy_buffers_size 128k;
5. recv()failed (104: Connection reset by peer) while reading response header fromupstream
可能的原因机房网络丢包或者机房有硬件防火墙禁止访问该域名
但最重要的是程序里要设置好超时,不要使用php-fpm的request_terminate_timeout,
最好设成request_terminate_timeout=0;
因为这个参数会直接杀掉php进程,然后重启php进程,这样前端nginx就会返回104: Connection reset by peer。这个过程是很慢,总体感觉就是网站很卡。
May 01 10:50:58.044162[WARNING] [pool www] child 4074, script'/usr/local/nginx/html/quancha/sameip/detail.php' execution timed out(15.129933 sec), terminating
May 01 10:50:58.045725 [WARNING] [pool www] child 4074 exited on signal 15SIGTERM after 90.227060 seconds from start
May 01 10:50:58.046818 [NOTICE] [pool www] child 4082 started
说一千道一万最重要的就是程序里控制好超时,gethostbyname、curl、file_get_contents等函数的都要设置超时时间。
另一个就是多说,这个东西是增加了网站的交互性,但是使用的多了反应就慢了,如果你网站超时且使用了多说是,可以关闭它。
6、自己遇到502的解决办法:
调整增大php 和Nginx 的backlog数。
网站出现502错误,我要怎么解决?
你好,我们只需进行浏览器的设置,然后重启浏览器即可。
理由和具体措施:
1.我们打开网页时出现502 bad gateway,说明服务器没有相应,也就是我们的web服务器没有接到有效的信息导致的。
2.我们浏览器使用了代理,我们打开桌面的浏览器找到右上角的工具打开,在下拉菜单中找到代理服务器选项。
3.在弹出的代理服务器选项中,选择不使用代理的选项在前面打勾,然后重启浏览器即可。
网站502是怎么回事,该怎样解决
什么原因导致502错误?
1:php-cgi进程数不够用 (我就是采用此方法解决的)
vim php-fpm.conf
修改其中的2个参数
(1)在安装好使用过程中出现502问题,一般是因为默认php-cgi进程是5个,可能因为phpcgi进程不够用而造成502,需要修改/usr/local/php/etc/php-fpm.conf 将其中的max_children值适当增加
这个数值是不确定的 需要我们自己算的,这个值原则上是越大越好,php-cgi的进程多了就会处理的很快,排队的请求就会很少,减小出现502错误的机率。
一般来说,一台服务器的正常情况下每一个php-cgi要耗费的内存为20M左右。如果我就将此值设为80,那么也就是说大概要耗费服务器1600M内存。
查看一下当前系统中有多少个php-cgi进程在运行
netstat -anpo | grep php-cgi | wc -l
如果这个值接近你的在配置文件里面设置的值,说明需要增加
注:这要根据机器的实际情况而定,每个机器的硬件设施和环境不一样
参数为:value name=”max_children”80/value
(2)另外一个参数就是php-cgi脚本的执行时间
value name=”request_terminate_timeout”0s/value这里写0s的意思是让php-cgi一直执行下去,没有时间限制。
注意:如果你做不到这一点,也就 是说你的PHP-CGI可能出现某个BUG,或者你的宽带不够充足或者其他的原因导致你的PHP-CGI假死那么就建议你给 request_terminate_timeout赋一个值,这个值可以根据服务器的性能进行设定。一般来说性能越好你可以设置越高,20分钟-30分 钟都可以。
修改完这两个参数,重启一下php-cgi,看是否还出现502错误
2: php执行时间长
php执行超时,修改/usr/local/php/etc/php.ini 将max_execution_time 改为300
重启一下php-cgi,看是否还出现502错误
3: php-cgi进程死掉
杀死其进程,重启php-cgi