- 工信部备案号 滇ICP备05000110号-1
- 滇公安备案 滇53010302000111
- 增值电信业务经营许可证 B1.B2-20181647、滇B1.B2-20190004
- 云南互联网协会理事单位
- 安全联盟认证网站身份V标记
- 域名注册服务机构许可:滇D3-20230001
- 代理域名注册服务机构:新网数码
首先,这里讲的服务器环境(lnmp)是指 linux + nginx + php(php-cgi + php-fpm)+ mysql。
502 Bad Gateway是lnmp下出现得最频繁的问题,其原因也有很多,以下是我收集的问题原因及其解决方法。
1. php进程死亡
此原因的问题表现为:每次动态(php)请求都出现502错误
解决方法:启动php即可 “service php-fpm start “,或者 “php安装路径/php/sbin/php-fpm start”
2. php-cgi进程数不足
此原因的问题表现为:动态请求有时出现502错误,一般没问题,这是并发高时php-cgi进程数不够用的表现
解决方法:修改php-fpm配置php-fpm.conf,将60 中的数加大,max_children数的设置不仅取决于服务器硬件配置,而且和php程序的复杂度有关,一般4G内存可以设置到120-200。修改后把php-fpm reload下;必要时是再修改nginx配置nginx.conf,将 worker_processes 数调到与cpu数相等(worker_processes默认为1)
3. php-cgi进程超时
此原因的问题表现为:php进程运行一段时间后出现502错误,这种情况可能是php程序没有加set_time_limit(0),也可能是被php-fpm的设置限定了运行时间,下面讨论第二中情况
解决方法:修改php-fpm配置php-fpm.conf,将30s 中数字调到更高,调为0s则允许无限时间运行;必要时再修改nginx配置nginx.conf,将fastcgi_connect_timeout、 fastcgi_send_timeout、fastcgi_read_timeout参数加大
4. 磁盘空间不足
此原因较少,问题表现为:502错误或者无法连接到服务器,无法连接到服务器时nginx也死了
这种情况的判断:启动php-fpm或者nginx的时间较长,但最终启动失败,这大概就是磁盘空间不足了,然后可以用命令查看磁盘占用状况:df -lh ,如果根目录”/”对应的磁盘使用率为100%,那么需要清理磁盘空间
解决方法:删除过大的日志文件,关闭部分服务组件的日志。一般需要检查 /var/log 目录下的日志文件,检查 nginx、php的日志,检查mysql的日志。如果以上目录没有问题,则需一个一个的检查其他目录(优先检查 /usr目录),删除过大的文件。
售前咨询
售后咨询
备案咨询
二维码
TOP