Linux网络操作系统-第33节-配置Apache服务器(二)虚拟主机
公司有官网、有内部门户,难道买两台服务器?不用——虚拟主机让一台 Apache 按域名分发到不同目录。

一、原理:Host 字段
浏览器每次请求都会带上 Host: www.site1.com 头。Apache 拿这个字段跟 VirtualHost 的 ServerName 匹配,决定把请求交给哪个目录。所以:一台服务器、一个 80 端口,也能同时服务无数个网站。
二、配置虚拟主机
mkdir /var/www/site1 /var/www/site2 echo "Site1 官网
" > /var/www/site1/index.html echo "Site2 门户
" > /var/www/site2/index.html vim /etc/httpd/conf.d/vhost.confDocumentRoot /var/www/site1 ServerName www.site1.com DocumentRoot /var/www/site2 ServerName www.site2.com systemctl reload httpd
三、客户端验证(没有 DNS 也能测)
测试机没有 DNS 服务也没关系,改 hosts 文件模拟解析:
- Windows:编辑 C:\Windows\System32\drivers\etc\hosts,加两行:192.168.200.10 www.site1.com 和 192.168.200.10 www.site2.com;
- 浏览器分别访问两个域名,看到不同首页即成功。
配了 VirtualHost 后,默认中心主机(主配置里的 DocumentRoot)会被取代——所有请求都按域名匹配虚拟主机。这是 Apache 官方文档明确的规则,不是故障。排错顺序:vhost.conf 语法 → reload 了没 → hosts 指向了没。

