虚拟Web主机指的是在同一台服务器中运行多个Web站点,其中的每一个站点实际上并不
独自占用整个服务器,因此被称为“虚拟Web主机”。 通过虚拟Web主机服务可以充分利用
服务器的硬件资源,从而大大降低网站构建及运行成本
    使用httpd可以非常方便地构建虚拟主机服务器,只需要运行一个httpd服务就能够同时支撑
 大量的Web站点。Httpd支持的虚拟主机类型包括以下三种:
基于域名的虚拟主机    :  不同的域名 相同的IP
基于端口的虚拟主机    :  不使用域名、IP来区分不同站点的内容,而是用不同的TCP端口号
.基于IP地址的虚拟主机 : 不同的域名 不同的IP ( 需要加网络接口 ,应用的不广泛)

由于基于IP地址的虚拟主机需要添加网络接口 使用不广泛,所以下面只对基于域名的虚拟主机 
和基于端口的虚拟主机  进行介绍。

.

1:基于域名的虚拟主机
# vim /etc/httpd/conf/httpd.conf    //配置httpd.conf
     ServerName linux.zkc.com:80   
     Listen 192.168.100.101:80         //监听的IP端口
     #Listen 80                                   //注释这行

 创建独立的配置文件夹
# vim /etc/httpd/conf.d/vhost.conf     //创建vhost.conf
    NameVirtualHost 192.168.100.101:80
    <VirtualHost 192.168.100.101:80>
     ServerAdmin webmaster@dummy-host.example.com       //建立一个管理员邮箱
     DocumentRoot /opt/benet/                                                  //站点目录
     ServerName www.benet.com                                            //域名www.benet.com
     ErrorLog logs/benet.com-error_log                                     //错误日志
     CustomLog logs/benet.com-access_log common            //访问日志
</VirtualHost>

<VirtualHost 192.168.100.101:80>
     ServerAdmin webmaster@dummy-host.example.com
        DocumentRoot /opt/accp/
     ServerName www.accp.com
     ErrorLog logs/accp.com-error_log
     CustomLog logs/accp.com-access_log common
</VirtualHost>

构建虚拟web主机
.

为虚拟机准备网页文档
mkdir /opt/benet     
mkdir /opt/accp
echo "this is benet" > /opt/benet/index.html    
echo "this is accp" > /opt/accp/index.html

.

域名解析需要安装配置DNS
rpm -ivh /mnt/Packages/bind-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm 
vim /etc/named.conf     //DNS修改主配置文件
   listen-on port 53 { 192.168.100.101; };
   allow-query     { any; };

构建虚拟web主机

 # vim /etc/named.rfc1912.zones  //修改DNS区域文件
  zone "benet.com" IN {
    type master;
    file "benet.com.zone";
    allow-update { none; };
};

    zone "accp.com" IN {
        type master;
        file "accp.com.zone";
        allow-update { none; };
};

构建虚拟web主机

修改DNS区域数据文件
# cd /var/named/
# cp -p named.localhost benet.com.zone  
# vim benet.com.zone
 @  IN SOA  @ admin. (
                0   ; serial
                1D  ; refresh
                1H  ; retry
                1W  ; expire
                3H )    ; minimum
NS  @
A   127.0.0.1
www IN A    192.168.100.101

构建虚拟web主机

# cp -p benet.com.zone accp.com.zone
# service named restart
# service httpd restart
打开IE浏览器 输入 www.benet.com   www.accp.com

构建虚拟web主机构建虚拟web主机

2:基于端口的虚拟主机   (这里测试的是8080端口)
# vim /etc/httpd/conf.d/vhost.conf
.....
.....        //添加下面几行
NameVirtualHost 192.168.100.101:8080
<VirtualHost 192.168.100.101:8080>
     ServerAdmin webmaster@dummy-host.example.com
     DocumentRoot /opt/benet01/
     ServerName www.benet.com
     ErrorLog logs/benet.com-error_log
     CustomLog logs/benet.com-access_log common
</VirtualHost>

构建虚拟web主机

为www.benet.com:8080    准备一个测试网页
# mkdir /opt/benet01
# echo "this is benet8080" > /opt/benet01/index.html

# vi /etc/httpd/conf/httpd.conf
    Listen 192.168.100.101:8080

构建虚拟web主机

 在IE浏览器里 输入www.benet.com:8080

构建虚拟web主机