Apache启动成功但页面报错?这5个排查方向解决你90%的问题
Apache开启了但未出现报错情况, 然而页面却依旧呈现出502、403或者空白态势——这可是让站长极为头疼的问题当中的一个。接下来直接展开拆解排查思路, 从而能够快速对问题进行定位。
1. 检查端口占用与虚拟主机配置
Apache默认对80或者443端口进行监听, 要是被诸如Nginx、IIS等其他Web服务占用, 就算Apache启动成功了, 请求也会被拦截住。
操作:
netstat -anp | grep :80
要是察觉到并非Apache的进程占据使用, 那就去改动httpd.conf, 再或者是sites-enabled/里的虚拟主机文件, 把端口变更为8080, 并且要进行反向代理的配置, 不然就停下产生冲突的服务。
2. 确认DocumentRoot路径权限
Apache开启之后, 要是不存在读取网站相关文件的权限, 那么就会予以回返403 Forbidden。
检查:
ls -ld /var/www/html
要保证目录的所有者为www-data(适用于Debian/Ubuntu系统), 或者是apache(此为CentOS系统下的情况), 而且目录权限最少得是755。
修复:
chown -R www-data:www-data /var/www/html chmod -R 755 /var/www/html
3. 检查PHP-FPM或后端服务是否运行
假定页面属于PHP范畴、倘若其依靠代理才能运作, 这时Apache自身不存在差错, 然而当后端服务出现故障时, 便会呈现502、504相关报错。
操作:
systemctl status php8.1-fpm systemctl status mysql
如果未启动,启动它们并重启Apache:
systemctl restart php8.1-fpm systemctl restart apache2
4. 开启Apache错误日志与详细报错
大部分问题在错误日志里写得清清楚楚。
命令:
tail -f /var/log/apache2/error.log
被常常看见的日志关键词有, Permission denied(权限方面的错误提示), File does not exist(路径出现错误的表述), Connection refused(表示后端服务没有开启的提示)。
5. 检查.htaccess与Rewrite规则
.htaccess当中存在着错误的语法, Apache将会直接返回500 Internal Server Error。
排错之办法: 暂且将.htaccess重新命名成为.htaccess.bak, 接着去刷新页面。要是恢复至正常状态, 那就表明是规则书写错误, 需一步步去排查语法。
快速总结
端口被占 → 改端口或停冲突服务
目录权限不对 → 修复所有者与权限
后端服务未运行 → 启动PHP-FPM/MariaDB
没有去看错误日志, 而是选择先通过tail -f来查看日志。
.htaccess语法错 → 重命名后逐个恢复
否玩代码编辑网址https://www.fouwan.com。


