Apache服務器虛擬主機設置技術(shù)深入解析
WWW服務器虛擬主機是指使用一臺物理機器,充當多個主機名的WWW服務器。使用WWW虛擬主機的好處在于,一些小規(guī)模的網(wǎng)站,通過跟其他網(wǎng)站共享同一臺物理機器,可以減少系統(tǒng)的運行成本,并且可以減少管理的難度。另外,對于個人用戶,也可以使用這種虛擬主機方式來建立有自己獨立域名的WWW服務器。下面,我就給大家介紹一下如何在Apache下設置各種虛擬主機。
一、Apache WWW服務器簡介
Apache WWW服務器是目前Internet上使用最廣的WWW服務器軟件。通過靈活的配置,它幾乎可以完成您想要的所有功能。
二、Apache WWW服務器下基于IP地址的虛擬主機設置
使用這種虛擬主機方式,首先要在服務器上為每個虛擬主機單獨設置一個IP地址。這些IP地址可以通過增加多個網(wǎng)卡或者在一個網(wǎng)卡上設立多個IP地址來完成。有了多個IP地址后,可以采用以下兩種方式之一來設置Apache:
1、為每個虛擬主機運行一份Apache
采用這種方式,每一份Apache程序可以以單獨的用戶運行,因此各個虛擬主機之間互不影響。設置這種虛擬主機時,只要為每一份Apache設置一套配置文件就可以了,唯一需要注意的是:必須使用“Listen”語句,強制每一份Apache僅僅在屬于“自己”的IP地址上接收服務請求。
優(yōu)點:各個虛擬主機之間互不干擾,安全性高。
缺點:占用系統(tǒng)資源較多。
2、多個虛擬主機共享同一份Apache
采用這種方式,各個虛擬主機共享同一份Apache,因此各個虛擬主機之間有一定的影響,尤其是執(zhí)行CGI程序時,可能會帶來一些嚴重的安全問題。設置這種虛擬主機時,只要為每一個虛擬主機設置類似如下的信息即可:
VirtualHost www.company1.com;
DocumentRoot /home/company1
…
/VirrualHost;
優(yōu)點:占用系統(tǒng)資源比上一種方式少。
缺點:安全性低,每個虛擬主機仍然需要占用一個IP地址。
三、Apache WWW服務器下簡單的基于名字的虛擬主機設置
這種方式下,各個虛擬主機共享同一份Apache,因此有CGI程序運行時,安全性也不高。設置這種虛擬主機時,只要為每一個虛擬主機設置類似如下的信息即可
NameVirtualHost 111.222.33.44; 在這個IP地址接收虛擬主機的服務
VirtualHost 111.222.33.44;
ServerName www.company1.com
DocumentRoot /www/company1
/VirtualHost;
VirtualHost 111.222.33.44;
ServerName www.company2.com
DocumentRoot /www/company2
/VirtualHost;
優(yōu)點:只要一個IP地址就可以提供大量的虛擬主機服務。
缺點:安全性差。維護這些虛擬主機時需要更改配置文件,并且需要重新啟動Apache進程才能起作用。因此不適合進行大規(guī)模的虛擬主機服務。
四、Apache WWW服務器下基于名字的大規(guī)模虛擬主機設置
所謂大規(guī)模虛擬主機,是指能夠提供非常多的虛擬主機服務,比如能提供超過數(shù)十萬個域名的虛擬主機服務。如果使用以上討論的方法,是很難完成的。實現(xiàn)這種服務的一種方式是利用Apache 功能強大的URL重寫功能。下面以一個實例來說明這種方式。
1、Apache中URL重寫功能
Apache 1.2及以后版本都有URL重寫(Rewrite)功能。簡單的說,URL重寫功能就是在Apache接收到請求后,在處理的過程中能根據(jù)預先設定的規(guī)則,對請求中的URL進行修改。這些規(guī)則主要由正規(guī)表達式組成。重寫依賴于輸入的URL、各種服務器端環(huán)境變量、HTTP請求頭中的內(nèi)容、時間,甚至可以通過外部的程序來使用數(shù)據(jù)庫中的信息來幫助重寫。
URL重寫功能非常強大,通過URL重寫,可以使Apache完成異常復雜的功能。當然,URL重寫功能本身也比較復雜,關(guān)于URL重寫功能的詳細說明可以參看Apache 的隨機文檔。
WWW服務器虛擬主機是指使用一臺物理機器,充當多個主機名的WWW服務器。使用WWW虛擬主機的好處在于,一些小規(guī)模的網(wǎng)站,通過跟其他網(wǎng)站共享同一臺物理機器,可以減少系統(tǒng)的運行成本,并且可以減少管理的難度。另外,對于個人用戶,也可以使用這種虛擬主機方式來建立有自己獨立域名的WWW服務器。下面,我就給大家介紹一下如何在Apache下設置各種虛擬主機 #p#page_title#e#