虚拟主机Nginx 500_数据库连接与内存
Nginx 500 的排查流程:开启 PHP 错误显示(临时)或看错误日志 → 定位具体错误文件和行号 → 修复代码或配置 → 测试。500 的原因 80% 是 PHP 代码错误、.htaccess/web.config 语法错误、权限问题,看日志能直接定位。
.htaccess 语法错误导致 Apache 500:.htaccess 里有错误指令(拼写错、参数错、模块未开启),Apache 会返回 500。把 .htaccess 改名测试,如果不 500 了就是 .htaccess 问题,逐行注释定位错误行。常见错误:RewriteEngine On 但 mod_rewrite 未开启、错误的 RewriteRule 语法、不支持的指令。
参考(500错误排查命令): ``` # 开启PHP错误显示(临时,.user.ini) display_errors = On error_reporting = E_ALL log_errors = On error_log = /www/wwwroot/域名/error.log
# PHP错误日志 tail -50 /www/wwwroot/域名/error.log # 或PHP-FPM日志 tail -50 /var/log/php-fpm/error.log
# Nginx错误日志 tail -50 /var/log/nginx/error.log # Apache错误日志 tail -50 /var/log/httpd/error_log
# 资源检查 free -m # 内存 df -h # 磁盘 df -i # inode top # 进程CPU内存
# 数据库连接测试 mysql -u用户名 -p密码 -h localhost -e "SHOW DATABASES;"
# 测试源站 curl -I -x 127.0.0.1:80 http://域名/ curl -v http://域名/ # 详细输出 ```
超时是 500 的常见原因。PHP 语法错看错误行号修正;.htaccess 语法错逐行注释定位;web.config 错用 IIS 管理器校验;权限不足 chmod/chown 修复;内存不足增大 memory_limit 或优化代码;数据库连接失败检查数据库服务和连接配置;扩展缺失联系客服安装或换函数。
Nginx 500 专项:Nginx 500 大多是 PHP-FPM 返回的错误。看 /var/log/php-fpm/error.log 和网站的 PHP 错误日志。PHP-FPM 未启动会返回 502 不是 500,注意区分。fastcgi 配置错误(脚本路径不对)也会 500,检查 fastcgi_param SCRIPT_FILENAME。

更新时间:2026-08-26 21:33:40