Apache虛擬主機-解惑篇

    有很多平時喜歡鑽研的童鞋會發現,爲什麼有時候自己訪問某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>
閱讀(55) | 評論(0) | 轉發(0) |
給主人留下些什麼吧!~~
評論熱議
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章