Linux 中http中创建虚拟主机实例

    虚拟主机:(访问量不大的时候,就一台物理机上放多个的http服务。)


 (1)使用虚拟的前提:取消主服务器
   注释主服务器的站点根路径指定:DocumentRoot
 (2)定义虚拟主机
  NameVirtualHost IP:PORT -----基于主机名称的虚拟主机,并指明IP和端口号。(httpd2.2才有)
   
 实例:

分别在建立3个目录为host1、host2、host3,在目录分别创建网页index.html,内容分别是目录名称。
 1、基于不同端口(同IP同主机名不同端口)
  <VirtualHost 172.16.3.20:80>----------指定80端口的
   DocumentRoot "/var/www/host1"------站点根目录
   ServerName www.ning.com------主机地址
  </VirtualHost>
  <VirtualHost 172.16.3.20:8080>------指定8080端口
    DocumentRoot "/var/www/host2"----站点跟目录
    ServerName www.ning.com------主机地址
  </VirtualHost>


 2、基于不同IP(同端口同主机名不同IP)
  <VirtualHost 172.16.3.20:80>----------指定IP为172.16.3.20
   DocumentRoot "/var/www/host1"------站点根目录
   ServerName www.ning.com------主机地址
  </VirtualHost>
  <VirtualHost 172.16.3.30:80>------指定IP为172.16.3.30
    DocumentRoot "/var/www/host2"----站点跟目录
    ServerName www.ning.com------主机地址
  </VirtualHost>
  基于IP和端口的也可以混合在在一起用


 3、基于主机名(同IP同端口不同主机名)
  (1)NameVirtualHost *:PORT------如果这里是用的*来表示IP那么下面的容器指定的IP也应该是*
   NameVirtualHost 172.16.3.20:80-----也可以单独指定IP。
   <VirtualHost 172.16.3.20:80>--------这里的IP可以单独指定,也可以写成*但是必须和声明的IP和端口一致
    DocumentRoot "/var/www/host1"
    ServerName www.ning.com-------第一个主机名
   </VirtualHost>
   <VirtualHost 172.16.3.20:80>
     DocumentRoot "/var/www/host2"
     ServerName www.hong.com------第二个主机名
   </VirtualHost>
   <VirtualHost 172.16.3.20:80>
     DocumentRoot "/var/www/host3"
     ServerName www.liang.com------第三个主机名
   </VirtualHost>
  这三种也可以混合一起用,,但是声明IP的时候就不能用*了,,,默认测试的IP是自上而下逐个在配置文件中匹配的。
  
 配置文件语法检查:
   httpd -t
   service httpd configtest


 浏览器的测试:
  1、基于端口和IP的测试就不具体说明了
  2、基于主机名测试:
   Linux中可以安装:elinks 文本浏览器
       -dump:获取页面数据后直接推出进程。
       但是需要指定DNS解析,为了方便测试我们可以直接修改/etc/hosts文件指定即可
             172.16.3.20 www.ning.com
             172.16.3.20 www.hong.com
             172.16.3.20 www.liang.com
    实例:[root@ning ~]# elinks -dump www.ning.com
                   host1
   Windows中测试需要修改hosts文件:
     hosts文件在window-->system32--->drivers---->etc---->hosts
             172.16.3.20 www.ning.com
             172.16.3.20 www.hong.com
             172.16.3.20 www.liang.com
    实例http://www.hong.com/

 

你可能感兴趣的:(linux,创建虚拟主机)