在 CentOS 上 Apache(httpd)配置错了,别慌,按下面步骤来排查和修复,基本都能解决。
sudo apachectl configtest
# 或
sudo httpd -t
Syntax OK:配置语法没问题错误类似:
(98)Address already in use: AH00072: make_sock: could not bind to address
解决:
sudo netstat -tunlp | grep :80
/etc/httpd/conf/httpd.conf 里的 Listen 80常见错误:
DocumentRoot 路径不存在<VirtualHost> 没写 ServerName检查:
ls /你的/documentroot
示例正确写法:
<VirtualHost *:80>
ServerName www.example.com
DocumentRoot /var/www/html/example
</VirtualHost>
错误:
403 Forbidden
解决:
chown -R apache:apache /var/www/html
chmod -R 755 /var/www/html
并确认:
<Directory "/var/www/html">
Require all granted
</Directory>
即使配置全对也可能 403
检查:
getenforce
临时关闭测试:
sudo setenforce 0
永久解决(推荐):
sudo setsebool -P httpd_read_user_content 1
sudo restorecon -Rv /var/www
CentOS Apache 配置文件位置:
/etc/httpd/conf/httpd.conf/etc/httpd/conf.d/*.conf⚠️ 不要直接改 /etc/httpd/conf.d/welcome.conf 乱删
sudo tail -f /var/log/httpd/error_log
访问一次网站,看实时报错。
sudo systemctl restart httpd
sudo systemctl status httpd
直接还原默认配置:
sudo mv /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.bak
sudo yum reinstall httpd -y
如果你愿意,可以把:
发出来,我可以直接帮你改 ✅