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