標籤:c http a strong com 檔案
Apache的虛擬機器主機是一種允許在同一台機器上,運行超過一個網站的解決方案。虛擬機器主機有兩種,一種叫基於IP的(IP-based),另一種叫基於名字的(name-based)。虛擬機器主機的存在,對使用者來說是透明的。
基於IP的虛擬機器主機:
對於基於IP的虛擬機器主機來說,必須為每個虛擬機器主機配備一個單獨的IP。也就是說你的伺服器必須有多個IP地址。對於這種方式,我們在本地就可以做一個實驗來進行配置。
配置基於IP的虛擬機器主機,有兩種方法:一是啟動多個apache伺服程式,每個執行個體使用單獨的設定檔,一般來說,在同一台機器上,架設兩個網站,這兩個網站互相之間不希望對方訪問自己的檔案,就使用這種方式,每個apache執行個體都是用單獨的使用者名稱,組來啟動,並且放到不同的目錄下,這種方式只要在apche的設定檔中,為Listen命令配置不同的ip即可;
第二種方法是只啟動一個單一的apache進程,使用VirtualHost指令來為不同的網站,配置不同的值,這種配置方式,我們可以在本地做個實驗的,由於127.0.0.*的所有ip都是指向原生,所以,我們可以隨便拿兩個出來做實驗,按照如下方式配置apache,之後,在hosts檔案中,將網域名稱綁定到配置的ip上,就可以實現在本地運行多個wp系統的一個配置:
<VirtualHost 127.0.0.1:80>
ServerAdmin [email protected]
DocumentRoot "E:/server110.com/wordpress-latest"
ServerName server110.com
ServerAlias www.server110.com
ErrorLog "logs/wplatest.com-error.log"
CustomLog "logs/server110.com-access.log" combined
</VirtualHost>
<VirtualHost 127.0.0.2:80>
ServerAdmin [email protected]
DocumentRoot "E:/server110.com/wordpress-2.9.2"
ServerName server110.com
ServerAlias www.server110.com
ErrorLog "logs/server110.com-error.log"
CustomLog "logs/server110.com-access.log" combined
</VirtualHost>
基於名字的虛擬機器主機:
基於名字的虛擬機器主機比起基於IP的來說,配置要更加簡單,它只要依靠用戶端發送的HTTP頭資訊中的HOST欄位來判斷,伺服器到底要服務哪個虛擬機器主機。一般情況下,還是比價推薦使用這種方式。因為IP資源日漸稀缺,對於一般使用者來說,為一台伺服器購買多個IP也是成本較高的。
使用這種方式配置時,首先是用NameVirtualHost指令,配置次apache執行個體監聽的IP地址和連接埠號碼,然後使用VirtualHost指令來配置不同的虛擬機器主機,上述的例子,用這種方式配置的話,配置方法如下(注意,在這種方式中,ServerName是必要欄位):
NameVirtualHost 127.0.0.1:80
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "E:/server110.com/wordpress-latest"
ServerName server110.com
ServerAlias www.server110.com
ErrorLog "logs/server110.com-error.log"
CustomLog "logs/server110.com-access.log" combined
</VirtualHost>
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "E:/baidu.com/wordpress-2.9.2"
ServerName baidu.com
ServerAlias www.baidu.com
ErrorLog "logs/baidu.com-error.log"
CustomLog "logs/baidu.com-access.log" combined
</VirtualHost>
此種配置方法,也可以在本地簡單地進行實驗。