CentOS7 Apache单服务器部署多站点第二个站点跳转欢迎页问题
问题根源
从httpd -S输出可明确3个核心问题:
- 端口80存在重复的
my_site_2.com虚拟主机配置:优先级更高的/etc/httpd/conf.d/drupal.conf先于你自定义的002-site_2.conf加载,Apache会使用第一个匹配到的虚拟主机配置响应该域名请求,你写的站点2配置完全未生效 - Apache默认按文件字母顺序加载配置,原生
httpd.conf中Include conf.d/*.conf的加载顺序早于你末尾添加的IncludeOptional sites-enabled/*.conf,因此conf.d下的同名域名配置会覆盖sites-enabled下的配置 - 你仅配置了站点2日志目录的SELinux上下文,站点根目录未配置正确的Apache访问权限上下文,也可能导致内容无法加载
解决方案
处理重复的虚拟主机配置
先备份冗余配置文件:cp /etc/httpd/conf.d/drupal.conf /etc/httpd/conf.d/drupal.conf.bak若该文件无其他用途可直接删除:
rm -f /etc/httpd/conf.d/drupal.conf若需要保留该文件,直接删除文件内所有
my_site_2.com相关的虚拟主机配置段即可。校验全局无重复域名配置
grep -r "my_site_2.com" /etc/httpd/确保输出仅存在
/etc/httpd/sites-available/002-site_2.conf和对应的软链接配置,无其他匹配项。补全站点根目录的SELinux上下文配置
# 给站点2根目录设置网页访问上下文 semanage fcontext -a -t httpd_sys_content_t "/var/www/site_2(/.*)?" # 应用配置 restorecon -R -v /var/www/site_2 # 修正目录权限保证Apache可读取 chown -R apache:apache /var/www/site_2重启服务验证配置
systemctl restart httpd httpd -S确认端口80的
my_site_2.com仅存在1条配置,且加载路径为/etc/httpd/sites-enabled/002-site_2.conf即可正常访问站点2。
内容的提问来源于stack exchange,提问作者user3891775
相关产品推荐
相关产品推荐

