Apache2 Ubuntu(Debian风格VHost配置):如何修改默认服务器?
修改Ubuntu系统中Apache2默认虚拟主机的方法
嘿,我来帮你搞定这个问题!在Debian/Ubuntu风格的Apache2配置里,默认虚拟主机的选择其实是由配置文件的加载顺序决定的——Apache会把sites-enabled目录下按字母顺序排在最前面的那个虚拟主机配置设为默认服务器。
下面是具体的操作步骤:
1. 查看当前配置文件的加载顺序
先运行这个命令,确认sites-enabled目录里的文件排序(这就是Apache的加载顺序):
ls -l /etc/apache2/sites-enabled/
排在列表最顶端的文件,对应的就是当前的默认虚拟主机。
2. 调整配置文件的排序
有两种靠谱的调整方式,推荐第一种更规范的做法:
方法一:修改源配置文件名(推荐)
- 进入存放所有虚拟主机源配置的目录:
cd /etc/apache2/sites-available/ - 给你想要设为默认的配置文件名加上
000-前缀(比如要把prod.x.com.conf设为默认):mv prod.x.com.conf 000-prod.x.com.conf - 先禁用原配置的链接,再重新启用修改后的配置:
这样a2dissite prod.x.com.conf a2ensite 000-prod.x.com.confsites-enabled里的符号链接会和源文件名保持一致,000-开头的文件会自动排在最前面。
方法二:直接修改符号链接名
如果不想改动源配置文件,也可以直接修改sites-enabled里的符号链接名称,给目标链接加上000-前缀:
cd /etc/apache2/sites-enabled/ mv prod.x.com.conf 000-prod.x.com.conf
这种方式更直接,但长期维护时可能不如第一种清晰。
3. 重启Apache服务生效
不管用哪种方法,最后都要重启Apache让配置变更生效:
systemctl restart apache2
如果是较老的Ubuntu版本,也可以用:
service apache2 restart
4. 验证修改结果
重新运行你之前的命令,检查默认服务器是否已经变更:
apachectl -D DUMP_VHOSTS
这时候你应该能看到目标域名已经变成了default server对应的主机。
补充说明:在Apache 2.4及以上版本中,NameVirtualHost指令已经不需要手动配置,系统会自动处理基于名称的虚拟主机,只要保证目标配置文件排在加载顺序的第一位即可。
内容的提问来源于stack exchange,提问作者pcgben
相关产品推荐
相关产品推荐

