CentOS 上 Apache 故障排查清单
一 快速定位流程
二 常见症状与处理要点
| 症状 | 优先检查 | 快速修复 |
|---|---|---|
| 无法访问(页面打不开) | 服务是否运行、80/443 是否监听、云安全组与防火墙 | systemctl start httpd;ss -tulnp |
| 403 Forbidden | 目录权限、 |
chmod 755 /var/www/html;chmod 644 文件;确认 DirectoryIndex;去除错误的 Deny from all |
| 404 Not Found | DocumentRoot 与文件路径、虚拟主机配置 | 核对 VirtualHost 的 DocumentRoot 与真实文件路径;确认文件存在 |
| 500/502/503 | 错误日志、.htaccess 伪静态、权限、后端(如 PHP-FPM) | 查 /var/log/httpd/error_log;临时重命名 .htaccess 验证;修正目录权限;检查后端进程与健康 |
| 启动失败 | 配置语法、端口冲突、SELinux | apachectl configtest;ss -tulnp 查占用并释放或改端口;必要时 setenforce 0 验证 SELinux 因素 |
| 访问卡慢 | 带宽/CPU/磁盘、并发进程数、MPM 模式 | top/vmstat/iostat;ps aux |
| PHP 页面空白或报错 | PHP 错误日志与显示开关 | 在 php.ini 中设置 display_errors=Off、error_reporting=E_ALL;重启 httpd 后复现并查错 |
| 端口被占用 | 谁在占用 80/443 | ss -tulnp |
三 日志与定位技巧
四 配置语法与端口冲突检查
五 SELinux 与权限要点