Apache虛擬機器主機的配置可分為三種:基於連接埠、基於ip和基於網域名稱的虛擬機器主機。下面我們分別做個簡單介紹。
我們以Windows平台下的httpd-2.2.21-win32-x86-no_ssl.msi 版本為例。 一、基於連接埠的虛擬機器主機設定
1、修改監聽連接埠
開啟Apache設定檔httpd.conf,添加要使用的監聽連接埠
如:
Listen 80Listen 81Listen 82
以上設定的含義為監聽80、81、82這幾個連接埠(注意不能和其它軟體的連接埠有衝突)。
2、更改虛擬機器主機設定:
開啟Apache設定檔httpd.conf,尋找 Include conf/extra/httpd-vhosts.conf,將前面的#號去掉。
修改虛擬機器主機設定檔 Apache/Conf/extra/httpd-vhosts.conf,清除或注釋掉原先所有內容,放置下面內容
<VirtualHost *:80> DocumentRoot "d:/WAMP/WWW" </VirtualHost> <VirtualHost *:81> DocumentRoot "d:/WAMP/test1" </VirtualHost> <VirtualHost *:82> DocumentRoot "d:/WAMP/test2" </VirtualHost>
3、測試:
開啟瀏覽器分別輸入 http://localhost、http://localhost:81、http://localhost:82 可訪問不同網站 二、基於IP的虛擬機器主機設定
基於 IP 的虛擬機器主機是指為每個 Web 網站配置不同的 IP 位址。通常用於有多塊物理網卡,或者配置了多個虛擬 IP 的 Web 服務器。
一個網卡綁定多個IP地址,開啟“控制台”->“網路連接”->“本地串連”->“點右鍵屬性”->從“常規”選項卡中找到“網際網路通訊協定 (IP)(TCP/IP)“->"點擊屬性”->點下面的“進階”按鈕,在進階中的“IP設定-IP地址” 欄下點“添加”按鈕,輸入你想綁定的IP地址即可。如果之前本地串連IP地址是 192.168.1.2,那麼繼續添加 192.168.1.3、192.168.1.4、192.168.1.5 等等。用這些IP區分不同的虛擬機器主機。
我們這裡不一一綁定了,因為所有127開頭的都會指向本機,如 127.0.0.1 ~ 127.0.0.255 等等。所以我們用這些地址做測試。這些地址只能本機訪問。
1、指定監聽連接埠
開啟Apache設定檔httpd.conf,指定監聽連接埠
如:
Listen 80
以上設定的含義為監聽80連接埠
2、更改虛擬機器主機設定:
開啟Apache設定檔httpd.conf,尋找 Include conf/extra/httpd-vhosts.conf,將前面的#號去掉。
修改虛擬機器主機設定檔 Apache/Conf/extra/httpd-vhosts.conf,清除或注釋掉原先所有內容,放置下面內容
<VirtualHost 127.0.0.1:80> DocumentRoot "d:/WAMP/WWW" ServerName 127.0.0.1:80 </VirtualHost> <VirtualHost 127.0.0.2:80> DocumentRoot "d:/WAMP/test1" ServerName 127.0.0.2:80 </VirtualHost> <VirtualHost 127.0.0.3:80> DocumentRoot "d:/WAMP/test2" ServerName 127.0.0.3:80 </VirtualHost>
3、測試:
開啟瀏覽器分別輸入 http://127.0.0.1、http://127.0.0.2、http://127.0.0.3 可訪問不同網站 三、基於網域名稱的虛擬機器主機設定
1、修改hosts檔案
以Windows 2003為例,在C:\WINDOWS\system32\drivers\etc 下有個hosts檔案。
這個hosts的作用就是將一些常用的網址網域名稱與其對應的IP地址建立關聯,當使用者在瀏覽器中輸入一個網址時,系統會首先自動從Hosts檔案中尋找對應的IP地址,一旦找到,系統會立即開啟對應網頁,如果沒有找到,則系統再會將網址提交DNS網域名稱解析伺服器進行IP地址的解析。
開啟hosts檔案,一般已有“127.0.0.1 localhost” ,添加你要增加的網域名稱,如下:
127.0.0.1 www.test.com 127.0.0.1 www.test1.com 127.0.0.1 www.test2.com
2、指定監聽連接埠
開啟Apache設定檔httpd.conf,指定監聽連接埠
如:
Listen 80
以上設定的含義為監聽80連接埠
3、更改虛擬機器主機設定:
開啟Apache設定檔httpd.conf,尋找 Include conf/extra/httpd-vhosts.conf,將前面的#號去掉。
修改虛擬機器主機設定檔 Apache/Conf/extra/httpd-vhosts.conf,清除或注釋掉原先所有內容,放置下面內容
NameVirtualHost *:80 <VirtualHost *:80> DocumentRoot "d:/WAMP/WWW" ServerName www.test.com </VirtualHost> <VirtualHost *:80> DocumentRoot "d:/WAMP/WWW/test1" ServerName www.test1.com </VirtualHost> <VirtualHost *:80> DocumentRoot "d:/WAMP/WWW/test2" ServerName www.test2.com </VirtualHost>
4、測試:
開啟瀏覽器分別輸入 http://www.test.com、http://www.test1.com、http://www.test2.com 可訪問不同網站。 四 虛擬機器主機設定檔參數說明
<VirtualHost *:*> ServerAdmin # 管理員的E-mail地址 DocumentRoot # 虛擬機器主機的根目錄 ServerName # 虛擬機器主機的名稱連接埠 ErrorLog # 虛擬機器主機的錯誤記錄檔路徑 Customlog # 虛擬機器主機的訪問日誌路徑</VirtualHost>