3.配置虚拟Web主机
问题
调整Web服务端的配置,实现2个基于域名的虚拟主机:
- 当访问 http://www.google.com时,页面显示 GOOGLE!!
- 当访问 http://www.baidu.com时,页面显示 BAIDU!!
方案
虚拟Web主机的目标是通过不同的访问方式能看到不同站点的网页,而实际只需要一台httpd服务器。Httpd可以支持三种虚拟主机类型,其中的差异在于如何去区分不同的Web站点:
基于域名(FQDN)
基于IP地址
基于端口
若要实现基于域名的虚拟主机,可以在配置httpd服务时添加NameVirtualHost行,用来指定监听虚拟Web主机的IP地址;然后针对每一个虚拟Web站点,添加对应的<VirtualHost IP地址> … …设置即可,其中包括ServerName参数用来指定站点域名、DocumentRoot参数用来指定网页目录。
步骤
实现此案例需要按照如下步骤进行。
步骤一:解决虚拟Web站点的域名解析问题
因为还没有可用的DNS服务器,暂时可以修改客户机(所有需要以域名的方式来访问这两个站点的主机)的hosts文件,添加两个虚拟Web站点的域名与IP地址映射记录。
[root@pc205 ~]# vim /etc/hosts
… …
192.168.4.5 www.baidu.com www.google.com
完成添加后,可以使用ping命令简单测试(ping域名,解析出IP地址):
[root@pc205 ~]# ping www.baidu.com //检查虚拟主机1的域名
PING www.baidu.com (192.168.4.5) 56(84) bytes of data.
64 bytes from www.baidu.com (192.168.4.5): icmp_seq=1 ttl=64 time=0.024 ms
[root@pc205 ~]# ping www.google.com //检查虚拟主机2的域名
PING www.baidu.com (192.168.4.5) 56(84) bytes of data.
64 bytes from www.baidu.com (192.168.4.5): icmp_seq=1 ttl=64 time=0.019 ms
步骤二:配置虚拟Web主机
1)为站点www.google.com、www.baidu.com准备网站文档
[root@svr5 ~]# cd /var/www/html/
[root@svr5 html]# mkdir google baidu
[root@svr5 html]# vim google/index.html
GOOGLE !!
//站点1的首页 [root@svr5 html]# vim baidu/index.htmlBAIDU !!
//站点2的首页 2)修改httpd服务配置,添加虚拟主机配置 [root@svr5 ~]# vim /etc/httpd/conf.d/vhosts.conf //建独立配置文件 NameVirtualHost 192.168.4.5 //虚拟主机服务的监听地址[root@svr5 ~]# grep ^Include /etc/httpd/conf/httpd.conf
Include conf.d/*.conf //确认此包含设置已开启
[root@svr5 ~]# service httpd restart //重启httpd服务
停止 httpd: [确定]
启动 httpd: [确定]
步骤三:在客户机上访问各虚拟Web主机
1)从浏览器访问http://www.google.com
效果如图-8所示。
图-8
2)从浏览器访问http://www.baidu.com
效果如图-9所示。
图-9