Web虚拟主机指的是在同一台服务器中运行多个Web站点,其中的每一个站点实际上并不肚子占用整个服务器,因此被成为“虚拟”Web主机。通过虚拟Web主机服务可以充分利用服务器的硬件资源,从而大大降低网站构建及运行成本‘
虚拟的Web主机有三种类型
- 基于域名的虚拟主机
- 基于IP地址的虚拟主机
- 基于端口的虚拟主机
对于基于IP地址的虚拟主机,每个虚拟Web主机使用不同的IP地址,但是都通过同一台httpd服务器对外提供Web浏览服务。正因如此,用来支撑这些虚拟Web主机的服务器就需要大量的网络接口,这在实际应用中成本较高,所以基于IP地址的虚拟主机在实际应用中并不常见,本文中就不做介绍,接下来着重讲其他两种的虚拟Web主机。
构建虚拟的Web主机
实验准备
- linux虚拟机(Red Hat Enterprise 6.5)IP:192.168.175.103
- windows 7 客户机
实验思路
- 为虚拟主机提供域名解析
- 为虚拟主机提供网页文档
- 添加虚拟主机配置
- 在客户机中访问虚拟Web主机
实验开始
基于域名的虚拟主机
首先需要正确安装好httpd服务器软件,可以选择RPM安装,或者源码编译安装两种方式.
在httpd服务器的配置文件中添加监听地址以及主机名
在该配置文件中修改(/etc/httpd/conf/httpd.conf),同时要注释掉IPv6行
Listen 192.168.175.103:80
ServerName www.localhost.com
为虚拟主机提供域名解析
RPM安装DNS服务器软件
修改主配置文件
修改区域配置文件
修改区域数据配置文件
对于“accp.com”的配置文件,只需要复制“benet.com”d的即可,注意保留属主(cp -p)。文件名也要更改,否则无效。
启动服务,同时利用‘host’测试地址解析是否正常
service named start
host www.benet.com //命令查看地址解析结果
关于DNS更详细的配置方法可参考我以前的博客:域名解析服务
为虚拟主机添加网页文档
在opt目录下,为虚拟主机创建站点,同时编写简单的测试网页
添加虚拟主机配置
在/etc/httpd/conf.d/目录下创建.conf 结尾的配置文件,将以下内容写入
NameVirtualHost 192.168.175.103:80 //指定IP地址及相对应端口
<VirtualHost 192.168.175.103:80>
ServerAdmin [email protected] //管理员邮箱
DocumentRoot /opt/benet/ //站点目录
ServerName www.benet.com //服务器名称
ErrorLog logs/benet.com-error_log //错误日志
CustomLog logs/benet.com-access_log common //访问日志
</VirtualHost>
基于相同端口号,相同IP地址但是不同主机名,要在该配置文件下同时创建两个配置内容
在客户机中访问虚拟Web主机
所有配置完成之后,启动服务,关闭防火墙及selinux防火墙
service httpd start
service iptables stop
setenforce 0
在windows7虚拟机中设置网络,同时添加DNS地址
使用IE浏览器进行访问测试
基于端口的虚拟主机
和基于域名的虚拟主机一样,首先安装httpd服务器软件,修改配置文件,因为我们时基于端口的,所以要增加一个新的监听地址,IP相同端口不同。
Listen 192.168.175.103:80
Listen 192.168.175.103:8080
ServerName www.localhost.com
为虚拟主机提供域名解析
主配置文件的修改都时一样的,对于区域配置文件,只需要增加一个"benet.com"一个区域即可,区域数据配置文件也只需写一个即可。
启动服务
为虚拟主机添加网页文档
在/opt目录下添加两个站点,同时创建两个首页网站。
添加虚拟主机配置
在客户机中访问虚拟Web主机
启动服务,关闭防火墙及selinux防火墙
在windows7虚拟机中配地址,及DNS地址,利用IE浏览器进行测试
原文地址:http://blog.51cto.com/13643643/2125269