此时,就要考虑对应cgi接口的配置,比如 php-fpm.conf 的配置,脚本执行时间的超时情况限制。这可以通过跟踪php-fpm的 slow log 来排查,对相关代码优化,减少延时。
3.另外很大的问题在MySQL数据库这一块,如果数据库执行命令超时也会大延长php脚本的执行时间,导致 Nginx 等待超时。可以my.cnf的 slow log进行确认效能低下的sql语句是哪些,进行优化配置。
502 bad gateway解决方法
普通访客
一般情况下稍候访问或者按下快捷键 ctrl+F5强制刷新一下,这样就是重新向服务器发送请求了。再或者清理一下电脑的缓冲文件.(如果一直都是这样,我们就只能等管理员来解决)
管理员
1.查看当前的PHP FastCGI进程数是否够用
netstat -anpo | grep "php-cgi" | wc -l
如果实际使用的"FastCGI进程数"接近预设的"FastCGI进程数",那么,说明"FastCGI进程数"不够用,需要增大。
2.部分PHP程序的执行时间超过了Nginx的等待时间,可以适当增加nginx.conf配置文件中FastCGI的timeout时间。
其他方法:
1.提高 Web 服务器的响应速度,也即减少内部的调用关系,可以把需要的页面、素材或数据,缓存在内存中,可以是专门的缓存服务器 ,也可以Web服务器自身的缓存,提高响应速度;
2.网络带宽的问题,则对传输的数据包进行压缩处理,或者向IDC申请增加带宽;
3.属于内部网络的故障或设置问题,也即内部网络拥塞,可能内部存在大量的数据调用或交互造成的,则需要优化内部网络传输或协议;
4.数据库的数据读取造成前端服务器 ,响应用户的请求变慢,那么必须提高数据库的处理能力,若是只读业务可以增加数据缓存的模式 或者增加数据库备机,分散读压力;
本文出自Hostspace(中国)编辑部编辑,如果转载,希望能注明来源