Apache虚拟主机-解惑篇

时间:2022-04-22
本文章向大家介绍Apache虚拟主机-解惑篇,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

    有很多平时喜欢钻研的童鞋会发现,为什么有时候自己访问某XXse网站时,总是更新IP地址,内容却与以前一样。这个时候就要了解虚拟主机的概念了。了解这个概念,能够帮助运维同学,更内涵的隐藏自己的主机,或者让一台apache支持多个网站的共同运营。 参考资料: 1 http://httpd.apache.org/docs/2.2/ 2《Apache cookbook》 虚拟主机寻址方式 IP地址方式:每台虚拟主机都有其唯一的IP地址

名称寻址方式:多台虚拟主机会以不同的名称在同一IP地址上运行

 以名称寻址的虚拟主机

使用NameVirtualHost *指令以及<VirtualHost>区块

 ServerName 127.0.0.1
  
 				NameVirtualHost * #表示所设定的主机可在所有的地址上运行
 
 <VirtualHost *>
 
 				    ServerName test1.name #默认的第一个主机会接收未列出虚拟主机的请求
 
 				    DocumentRoot "C:/Apache2.2/htdocs/test1"
 
 </VirutalHost>
 
 <VirtualHost *>
 
 				    ServerName test2.name
 
 				    DocumentRoot "C:/Apache2.2/htdocs/test2"
 
 </VirutalHost> 

指定一台名称寻址的主机位默认服务器,并在查找不到主机时,转向默认网页

 <VirtualHost *>
  
 				    ServerName default
 
 				    DocumentRoot /www/htdocs
 
 				    ErrorDocument 404 /site.html
 
 </VirutualHost> 

对特定主机设置多个名称

  1. ServerAlias www.cu.com chinaunix.cu

以IP寻址的虚拟主机 可以在系统上设定多个IP,然后各自支持某个网站

 ServerName 127.0.0.1
  
 <VirtualHost 10.0.0.1>
 
 				    ServerName test.name
 
 				    DocumentRoot "C:/Apache2.2/htdocs/test1"
 
 </VirtualHost>
 
 <VirtualHost 10.0.0.2>
 
 				    ServerName test2.name
 
 				    DocumentRoot "C:/Apache2.2/htdocs/test2"
 
 </VirutalHost> 

建立IP寻址的默认虚拟主机

 <VirtualHost _default_>
  
 				    DocumentRoot /www/htdocs
 
 </VirtualHost>
 
 				#_default_ 建立虚拟主机,处理所有未设定虚拟主机“地址:端口号”的请求
 
 				#_default_ 可与端口号同时使用 _default_:443 会接受443端口号的所有未设定虚拟主机的请求 			
 端口号寻址的虚拟主机
  
 Listen 8080
  
 <VirtualHost 10.0.0.1:8080>
 
 				     DocumentRoot "C:/Apache2.2/htdocs/test_port8080"
 
 </VirtualHost>
 
 				Listen 8081
 
 <VirtualHost 10.0.0.1:8081>
 
 				     DocumentRoot "C:/Apache2.2/htdocs/test2_port8081"
 
 </VirtualHost> 

这种用法不常见,因为请求时,很麻烦,需要填入端口号:比如 www.test.com:8080/

在多个地址上显示相同的网页内容

 NameVirtualHost 192.168.1.1
  
 				NameVirtualHost 170.1.2.3
 
 <VirtualHost 192.168.1.1 170.1.2.3>
 
 				    DocumentRoot "C:/Apache2.2/htdocs/test"
 
 </VirtualHost>