现在的位置: 首页 > 综合 > 正文

Apache虚拟主机-解惑篇

2014年01月27日 ⁄ 综合 ⁄ 共 1580字 ⁄ 字号 评论关闭
    有很多平时喜欢钻研的童鞋会发现,为什么有时候自己访问某XXse网站时,总是更新IP地址,内容却与以前一样。这个时候就要了解虚拟主机的概念了。了解这个概念,能够帮助运维同学,更内涵的隐藏自己的主机,或者让一台apache支持多个网站的共同运营。

参考资料:
1 http://httpd.apache.org/docs/2.2/
2《Apache cookbook

虚拟主机寻址方式


IP地址方式:每台虚拟主机都有其唯一的IP地址

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

 以名称寻址的虚拟主机
使用NameVirtualHost *指令以及<VirtualHost>区块
  1. ServerName 127.0.0.1
  2. NameVirtualHost * #表示所设定的主机可在所有的地址上运行
  3. <VirtualHost *>
  4.     ServerName test1.name #默认的第一个主机会接收未列出虚拟主机的请求
  5.     DocumentRoot "C:/Apache2.2/htdocs/test1"
  6. </VirutalHost>
  7. <VirtualHost *>
  8.     ServerName test2.name
  9.     DocumentRoot "C:/Apache2.2/htdocs/test2"
  10. </VirutalHost>
指定一台名称寻址的主机位默认服务器,并在查找不到主机时,转向默认网页
  1. <VirtualHost *>
  2.     ServerName default
  3.     DocumentRoot /www/htdocs
  4.     ErrorDocument 404 /site.html
  5. </VirutualHost>

对特定主机设置多个名称
  1. ServerAlias www.cu.com chinaunix.cu

以IP寻址的虚拟主机

可以在系统上设定多个IP,然后各自支持某个网站
  1. ServerName 127.0.0.1
  2. <VirtualHost 10.0.0.1>
  3.     ServerName test.name
  4.     DocumentRoot "C:/Apache2.2/htdocs/test1"
  5. </VirtualHost>
  6. <VirtualHost 10.0.0.2>
  7.     ServerName test2.name
  8.     DocumentRoot "C:/Apache2.2/htdocs/test2"
  9. </VirutalHost>
建立IP寻址的默认虚拟主机
  1. <VirtualHost _default_>
  2.     DocumentRoot /www/htdocs
  3. </VirtualHost>
  4. #_default_ 建立虚拟主机,处理所有未设定虚拟主机“地址:端口号”的请求
  5. #_default_ 可与端口号同时使用 _default_:443 会接受443端口号的所有未设定虚拟主机的请求
端口号寻址的虚拟主机
  1. Listen 8080
  2. <VirtualHost 10.0.0.1:8080>
  3.      DocumentRoot "C:/Apache2.2/htdocs/test_port8080"
  4. </VirtualHost>
  5. Listen 8081
  6. <VirtualHost 10.0.0.1:8081>
  7.      DocumentRoot "C:/Apache2.2/htdocs/test2_port8081"
  8. </VirtualHost>
这种用法不常见,因为请求时,很麻烦,需要填入端口号:比如 www.test.com:8080/
在多个地址上显示相同的网页内容
  1. NameVirtualHost 192.168.1.1
  2. NameVirtualHost 170.1.2.3
  3. <VirtualHost 192.168.1.1 170.1.2.3>
  4.     DocumentRoot "C:/Apache2.2/htdocs/test"
  5. </VirtualHost>
【上篇】
【下篇】

抱歉!评论已关闭.