虚拟主机是在网络服务器上划分出一定的磁盘空间供用户放置站点、应用组件等,提供必要的站点功能、数据存放和传输功能。所谓虚拟主机,也叫“网站空间”,就是把一台运行在互联网上的服务器划分成多个“虚拟”的服务器,每一个虚拟主机都具有独立的域名和完整的Internet服务器(支持WWW、FTP、E-mail等)功能,从用户角度来看,每台虚拟主机和一台独立的服务器完全相同,在IP地址日益紧张的今天,基于域名的虚拟主机要比基于IP的虚拟主机使用的更加广泛。

Apache虚拟主机配置:
#####################################################
1、基于IP的虚拟主机
[root@localhost ~]# yum install httpd* -y
[root@localhost conf.d]# pwd
/etc/httpd/conf.d/
[root@localhost conf.d]# vi vhost.conf   //新建一个虚拟主机的配置文件
[root@localhost conf.d]# cat vhost.conf  //虚拟主机配置文件内容如下:
<VirtualHost 192.168.0.100>
    ServerName 192.168.0.100:80
    ServerAdmin web@kumu1.sxkeji.com.cn
    DocumentRoot "/var/www/kumu1"
    ErrorLog logs/kumu1/error_log
    CustomLog logs/kumu1/access_log common
</VirtualHost>

<VirtualHost 192.168.0.101>
    ServerName 192.168.0.101:80
    ServerAdmin web@kumu2.sxkeji.com.cn
    DocumentRoot "/var/www/kumu2"
    ErrorLog logs/kumu2/error_log
    CustomLog logs/kumu2/access_log common
</VirtualHost>

#CustomLog 访问日志文件名 访问日志的格式
#访问日志格式:
#common(标准格式,为绝大多数日志分析工具所识别)
#combined (common的扩展)
[root@localhost conf.d]# mkdir /var/www/kumu1 /var/www/kumu2
[root@localhost conf.d]# echo "This is kumu1" > /var/www/kumu1/index.html
[root@localhost conf.d]# echo "This is kumu2" > /var/www/kumu2/index.html

[root@localhost logs]# pwd
/etc/httpd/logs
[root@localhost logs]# mkdir kumu1 kumu2    //不放在单独的目录中,则启动服务自动生成相应日志
                                            //如果单独存放,则需要新建存放目录的位置

[root@localhost conf.d]# service httpd restart
停止 httpd:                                               [失败]
启动 httpd:                                               [确定]
[root@localhost conf.d]#

[root@localhost logs]# elinks -dump 192.168.0.100   //测试成功
   This is kumu1
[root@localhost logs]# elinks -dump 192.168.0.101   //测试成功
   This is kumu2
[root@localhost logs]#

2、基于主机名的虚拟主机
在IP地址日益紧张的今天,基于域名的虚拟主机要比基于IP的虚拟主机使用的更加广泛。但是,随着IPV6的普及,相信IP的问题未来将不再是问题。
[root@localhost ~]# yum install bind* -y
[root@localhost ~]# yum install caching-name* -y
[root@localhost ~]# cd /var/named/chroot/etc/
[root@localhost etc]# ll named.conf
-rw-r----- 1 root named 339 02-28 18:46 named.conf
[root@localhost etc]# cat named.conf
options {
        listen-on port 53 { any; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";

        allow-query     { any; };
        allow-query-cache { any; };
};
zone "kumu3.com" IN {
        type master;
        file "kumu3.zone";
        allow-update { none; };
};

zone "kumu4.com" IN {
        type master;
        file "kumu4.zone";
        allow-update { none; };
};
[root@localhost etc]# cd ../var/named/
[root@localhost named]# ll kumu*
-rw-r----- 1 root named 240 02-28 18:49 kumu3.zone
-rw-r----- 1 root named 239 02-28 18:50 kumu4.zone
[root@localhost named]# cat kumu3.zone
$TTL    86400
@               IN SOA  dns.kumu3.com.       root (
                                        42              ; serial (d. adams)
                                        3H              ; refresh
                                        15M             ; retry
                                        1W              ; expiry
                                        1D )            ; minimum

                IN NS           dns.kumu3.com.
dns             IN A            192.168.0.2
www             IN A            192.168.0.2

[root@localhost named]# cat kumu4.zone
$TTL    86400
@               IN SOA  dns.kumu4.com.       root (
                                        42              ; serial (d. adams)
                                        3H              ; refresh
                                        15M             ; retry
                                        1W              ; expiry
                                        1D )            ; minimum

                IN NS           dns.kumu4.com.
dns             IN A            192.168.0.2
www             IN A            192.168.0.2
[root@localhost named]# service named restart
停止 named:                                               [确定]
启动 named:                                               [确定]
[root@localhost named]# vi /etc/resolv.conf
[root@localhost named]# cat /etc/resolv.conf
; generated by /sbin/dhclient-script
nameserver 127.0.0.1
search localdomain
[root@localhost named]# host www.kumu4.com
www.kumu4.com has address 192.168.0.2
[root@localhost named]# host www.kumu3.com
www.kumu3.com has address 192.168.0.2
[root@localhost named]#

[root@localhost conf.d]# pwd
/etc/httpd/conf.d
[root@localhost conf.d]# vi vhost1.conf
[root@localhost conf.d]# cat vhost1.conf
NameVirtualHost 192.168.0.2:80
<VirtualHost 192.168.0.2:80>
    ServerName www.kumu3.com
    ServerAdmin web@kumu3.com
    DocumentRoot "/var/www/kumu3"
    ServerName kumu3.sxkeji.com.cn
    ErrorLog logs/kumu3/error_log
    CustomLog logs/kumu3/access_log combined
</VirtualHost>

<VirtualHost 192.168.0.2:80>
    ServerName www.kumu4.com
    ServerAdmin web@kumu4.com
    DocumentRoot "/var/www/kumu4"
   ErrorLog  logs/kumu4/error_log
   CustomLog logs/kumu4/access_log combined
</VirtualHost>
[root@localhost conf.d]# mkdir ../logs/kumu3
[root@localhost conf.d]# mkdir ../logs/kumu4
[root@localhost conf.d]# mkdir /var/www/kumu3
[root@localhost conf.d]# mkdir /var/www/kumu4
[root@localhost conf.d]# echo "This is kumu3" >> /var/www/kumu3/index.html
[root@localhost conf.d]# echo "This is kumu4" >> /var/www/kumu4/index.html
[root@localhost conf.d]# service httpd restart
停止 httpd:                                               [确定]
启动 httpd:                                               [确定]
[root@localhost conf.d]#
[root@localhost conf.d]# elinks -dump www.kumu3.com
   This is kumu3
[root@localhost conf.d]# elinks -dump www.kumu4.com
   This is kumu4
[root@localhost conf.d]#
测试成功!
#####################################################
 

下一篇文章主要介绍的是Nginx的虚拟主机配置......