我的知识记录

504 Gateway Timeout和502区别?502和504网关超时区别,已解决

刚接触的新手最容易在这个问题上踩坑,把经验整理出来。

502的本质是Nginx作为反向代理,向后端PHP-FPM发请求,后端没有正常响应。先查PHP-FPM是否在运行,执行systemctl status php-fpm看状态是不是active running。没运行就启动,启动失败看报错,通常是配置文件语法错或端口被占用。

第二步查Nginx错误日志。日志在/var/log/nginx/error.log,看502发生时的报错。常见的有connect() failed说明PHP-FPM没启动或端口不对,upstream timed out说明PHP执行超时,Connection reset by peer说明PHP-FPM进程崩溃。

第三步根据原因处理。PHP-FPM没启动就检查配置文件php-fpm.conf,确认listen端口和Nginx里的fastcgi_pass一致。超时就把Nginx的fastcgi_read_timeout和PHP的max_execution_time都调大。进程崩溃通常是内存不足或代码有死循环,升级内存或优化代码。

高峰期频繁502说明资源不够用。先看服务器负载,执行top看CPU和内存使用率,CPU长期100%或内存用完就会502。短期解决方案是重启PHP-FPM释放内存,长期方案是升级服务器配置或优化代码减少资源消耗。数据库慢查询也会拖垮PHP-FPM。

临时应急可以写个监控脚本,检测到PHP-FPM挂了自动重启,减少宕机时间。但这只是治标,频繁502说明有根本问题,要么资源不够要么代码有bug,要找到根因彻底解决。生产环境建议配监控告警,502错误率超过阈值立即通知。

把这套流程固化成检查清单,团队协作效率会高很多。

504 Gateway Timeout和502区别?502和504网关超时区别,已解决

标签:

更新时间:2026-08-27 13:17:05

上一篇:FTP列表为空景安网络解决办法_FTP连接后列表为空教程详解

下一篇:虚拟主机的IIS连接数和Apache并发有什么区别?_Web服务器并发模型对比_新手入门指南