You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu20.04重装php-fpm后原有站点出现502 Bad Gateway故障求助

故障根因

你的Nginx配置中,include /etc/nginx/templates/php-catchall.tmpl 语句的位置在你自定义的PHP处理location块之前。Nginx的正则匹配规则为先匹配到的规则优先生效,而php-catchall.tmpl中仍然保留了重装php-fpm之前的fastcgi_pass 127.0.0.1:9999端口配置,所以你自行修改的sock配置根本没有被加载,Nginx依然尝试连接已经失效的9999端口,才会返回502错误。

解决步骤

  • 步骤1:确认模板文件内容,执行以下命令查看php-catchall.tmpl的配置:
cat /etc/nginx/templates/php-catchall.tmpl

可看到文件内的fastcgi_pass参数为127.0.0.1:9999,和错误日志中的上游地址完全一致。

  • 步骤2:二选一执行以下修改方案:
    • 方案1(仅适配当前站点):将配置文件中自定义的location ~ \.php$块整体移动到所有include语句的上方,保证Nginx优先匹配你写的sock配置。
    • 方案2(全局适配所有站点):直接修改php-catchall.tmpl中的fastcgi_pass参数为unix:/var/run/php/php7.4-fpm.sock,所有引用该模板的站点都会自动切换为sock连接,无需单独修改每个站点的配置。
  • 步骤3:修改完成后先验证Nginx配置合法性:
nginx -t

返回test is successful则说明配置无误,执行重载命令生效:

systemctl reload nginx
  • 步骤4:验证服务状态,确认php7.4-fpm正常运行:
systemctl status php7.4-fpm

如果显示服务停止,执行启动命令即可:

systemctl start php7.4-fpm

内容的提问来源于stack exchange,提问作者Lee Bolton

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.19 16:27:00