为什么要使用虚拟主机呢?
      我们应该知道,要想访问一个web站点,前提是在一个操作系统上,即物理主机。其次,就是需要主机、IP、和服务器。由于这样维持一个站点非常浪费,因此,我们就会期望在一台物理主机上能够虚拟出多个同时运行的站点(或主机),这样就引入了虚拟主机。
    我们可以有三种方式定义不同的虚拟主机:
    基于IP  --> IP1:80, IP2:80
    基于端口 --> IP:80, IP:8080
    基于域名 --> 使用同一IP的多个不同的主机名
 
下面我们分别配置实现三种方式的虚拟主机:
一、先关闭中心主机,并开启8080端口。
编辑/etc/httpd/conf/httpd.conf
 
帮你实现虚拟主机的配置_linux 
帮你实现虚拟主机的配置_linux_02 
 
二、在/etc//httpd/conf.d/目录下,创建一个virtual.conf文件(也可把虚拟主机的配置直接写进主配置文件中)
编辑其内容,如下
 
  1. NameVirtualHost 172.16.13.2:80  # 启用基于不同主机名的虚拟主机  
  2. <VirtualHost 172.16.13.1:80# 虚拟主机定义的容器  
  3.   ServerName www.a.org  # 定义主机名  
  4.   DocumentRoot "/var/www/a.org"  # 定义站点资源所在的目录  
  5.   CustomLog /var/log/httpd/a.org/error_log combined   # 定义错误日志信息的目录  
  6. </VirtualHost>  
  7. <VirtualHost 172.16.13.2:80# 设定默认虚拟主机,即打开这个IP进入默认页面  
  8.   ServerName _default_  
  9.   DocumentRoot "/var/www/default" 
  10. </VirtualHost>  
  11. <VirtualHost 172.16.13.2:80>  
  12.   ServerName www.b.org  
  13.   DocumentRoot "/var/www/b.org" 
  14.   CustomLog /var/log/httpd/b.org/error_log combined  
  15.   <Directory "/var/www/b.org>  # 定义站点资源目录的工作属性  
  16.         Options none  # 定义目录下的网页文件能够在被访问时的访问属性  
  17.         AllowOverride authconfig  # 定义用户访问的认证信息(在上一篇我们已经详细说明)  
  18.         AuthType basic  
  19.         AuthName "Restric area." 
  20.         AuthUserFile "/etc/httpd/.htpasswd"  # 这里需要生成.htpasswd用户文件  
  21.         Require valid-user  
  22.   </Directory>  
  23. </VirtualHost>  
  24. <VirtualHost 172.16.13.2:80>  
  25.   ServerName www.c.org  
  26.   DocumentRoot "/var/www/c.org" 
  27.   CustomLog /var/log/httpd/c.org/error_log combined  
  28.   <Directory "/var/www/c.org>  
  29.         Options none  
  30.         AllowOverride none   
  31.         Order allow,deny  
  32.         Allow from all  
  33.   </Directory>  
  34. </VirtualHost>  
  35. <VirtualHost 172.16.13.1:8080>  # 基于不同端口的认证  
  36.   ServerName www.d.org  
  37.   DocumentRoot "/var/www/d.org" 
  38.   CustomLog /var/log/httpd/d.org/error_log combined  
  39. </VirtualHost>  
 
三、创建virtual.conf配置文件中所需要的目录,及其主页面。
(这里主页面只写了一个标题)
  例: 在/var/www/a.org/index.html中的内容:
 
  1. <h1>A Test</h1>  
帮你实现虚拟主机的配置_linux_03 帮你实现虚拟主机的配置_linux_04 帮你实现虚拟主机的配置_linux_05
 
创建密码文件及用户tom
 
帮你实现虚拟主机的配置_linux_06 
 
四、重启服务
     #  service  httpd  restart
 
五、打开浏览器验证
1、在windows中修改hosts文件,使之能解析我们的虚拟主机名

帮你实现虚拟主机的配置_linux_07

帮你实现虚拟主机的配置_linux_08

2、在浏览器中输入我们的主机名或IP地址打开即能得到我们在各个站点目录下的index.html文件。
http://www.a.org 
 
 帮你实现虚拟主机的配置_linux_09
 
 
帮你实现虚拟主机的配置_linux_10   
 帮你实现虚拟主机的配置_linux_11
 
 

帮你实现虚拟主机的配置_linux_12

http://172.16.13.2

帮你实现虚拟主机的配置_linux_13 

就这样虚拟主机就实现啦,你可以在主页上多写一些东西,整些好看的。这样确实很方面吧,一台主机就拥有多个站点呢。