宝塔面板怎么登录不上_502 Bad Gateway_PHP-FPM排查_重启恢复
宝塔面板登录不上显示502 Bad Gateway,是面板进程(Python)或PHP-FPM没响应。网站502是PHP-FPM问题,面板502是宝塔面板进程问题。
面板502(宝塔面板登录页502): 1. 检查面板进程:SSH执行`/etc/init.d/bt status`。 2. 没运行:`/etc/init.d/bt start`启动。 3. 启动失败看日志:`tail -50 /www/server/panel/logs/error.log`。 4. 常见原因:Python依赖损坏→`cd /www/server/panel/install && bash install_venv.sh`重建。 5. 端口被占:`ss -tlnp|grep 面板端口`,停占用程序或改端口。 6. 磁盘满:`df -h`清理。 7. 内存不足:`free -m`,加Swap或升级。 8. 面板文件损坏:升级面板`curl http://download.bt.cn/install/update6.sh|bash`。
网站502(网站页面502): 1. 检查PHP-FPM状态:`/etc/init.d/php-fpm-73 status`(版本号对应)。 2. 没运行:启动,启动失败看日志`/www/server/php/73/var/log/php-fpm.log`。 3. PHP-FPM进程耗尽:高并发时max_children设太小,502。 - 调大pm.max_children(宝塔PHP设置→性能调整)。 - 或升级服务器配置。 4. 内存不足OOM杀掉PHP-FPM:`dmesg|grep oom`看有没有OOM记录。 - 加Swap、优化PHP配置、升级内存。 5. Nginx配置错误:`nginx -t`测试,修复后`nginx -s reload`。 6. PHP扩展冲突:新装的扩展导致PHP-FPM启动失败。 - 禁用最近装的扩展,重启PHP。 7. session目录不可写:PHP-FPM启动但session写入失败,部分页面502。 - 检查session.save_path权限。
紧急恢复步骤: 1. SSH连接服务器。 2. 重启面板:`/etc/init.d/bt restart`。 3. 重启PHP-FPM:`/etc/init.d/php-fpm-73 restart`。 4. 重启Nginx:`/etc/init.d/nginx restart`。 5. 刷新浏览器测试。 6. 还不行看错误日志,根据报错修。
预防502: - 合理配置PHP-FPM的max_children,根据内存设置。 - 开启opcache,减少PHP CPU占用。 - 用CDN和缓存,降低PHP请求量。 - 监控内存和PHP-FPM状态,设置告警。 - 定期更新PHP和扩展,避免bug。 - 高并发站点用负载均衡,单台扛不住时分流。
PHP-FPM配置参考: - 1核2G:max_children=15,start_servers=5,min_spare=3,max_spare=8。 - 2核4G:max_children=30,start_servers=10,min_spare=5,max_spare=15。 - 4核8G:max_children=60,start_servers=20,min_spare=10,max_spare=30。 - 每个进程约占30-50M内存,max_children×50M不超过可用内存的70%。
502是网关错误,Nginx(网关)转发请求给后端(PHP-FPM或面板进程)但没得到响应。核心是后端服务没正常运行,重启后端服务通常能临时恢复,根本解决要找原因(配置、资源、bug)。

更新时间:2026-08-26 17:22:58
上一篇:宝塔面板登录地址忘了?从SSH找回到安全组放行的完整操作流程