Apache下的虛擬主機(jī)設(shè)置_第1頁
Apache下的虛擬主機(jī)設(shè)置_第2頁
Apache下的虛擬主機(jī)設(shè)置_第3頁
Apache下的虛擬主機(jī)設(shè)置_第4頁
Apache下的虛擬主機(jī)設(shè)置_第5頁
已閱讀5頁,還剩2頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、Apache 下的虛擬主機(jī)設(shè)置 .txt22 真誠是美酒, 年份越久越醇香濃型; 真誠是焰火, 在高處綻放才愈是美麗;真誠是鮮花,送之于人手有余香。一顆孤獨(dú)的心需要愛的滋潤;一顆冰冷的心需要友誼的溫暖;一顆絕望的心需要力量的托慰;一顆蒼白的心需要真誠的幫助;一顆充滿戒備關(guān)閉的門是多么需要真誠這一把鑰匙打開呀!Apache 下的虛擬主機(jī)設(shè)置摘要:本文介紹了 WWW 服務(wù)器的虛擬主機(jī)的工作原理, 討論了在 Apache WWW 服務(wù)器下的各種虛擬主機(jī)、尤其是大規(guī)模虛擬主機(jī)的設(shè)置技術(shù),并比較了各種方式的特點(diǎn)。關(guān)鍵詞: Apache WWWVirtual Hosting 虛擬主機(jī)一、 WWW 服務(wù)器虛

2、擬主機(jī)原理WWW服務(wù)器虛擬主機(jī)是指使用一臺物理機(jī)器,充當(dāng)多個主機(jī)名的WWW 服務(wù)器。 比如由一臺機(jī)器同時提供http:/,http:/等的 WWW 服務(wù),而瀏覽這些WWW 站點(diǎn)的用戶感覺不到這種方式下跟由不同的機(jī)器提供不同的服務(wù)有什么差別。使用 WWW 虛擬主機(jī)的好處在于,一些小規(guī)模的網(wǎng)站,通過跟其他網(wǎng)站共享同一臺物理機(jī)器,可以減少系統(tǒng)的運(yùn)行成本,并且可以減少管理的難度。另外,對于個人用戶,也可以使用這種虛擬主機(jī)方式來建立有自己獨(dú)立域名的 WWW 服務(wù)器,目前國內(nèi)有很多公司都提供這種免費(fèi)的服務(wù)。WWW 虛擬主機(jī)有兩種工作方式:1.1基于 IP 地址的虛擬主機(jī)方式這種方式下, 不同的主機(jī)名解析到

3、不同的IP 地址,提供虛擬主機(jī)服務(wù)的機(jī)器上同時設(shè)置有這些 IP 地址。服務(wù)器根據(jù)用戶請求的目的 IP 地址來判定用戶請求的是哪個虛擬主機(jī)的服務(wù),從而進(jìn)一步的處理。缺點(diǎn):基于 IP 地址的虛擬主機(jī)方式需要在提供虛擬主機(jī)服務(wù)的機(jī)器上設(shè)立多個 IP 地址,既浪費(fèi)了 IP地址,又限制了一臺機(jī)器所能容納的虛擬主機(jī)數(shù)目。因此這種方式越來越少使用。但是,這種方式是早期使用的 HTTP 1.0 協(xié)議唯一支持的虛擬主機(jī)方式。1.2基于主機(jī)名的虛擬主機(jī)方式由于基于IP 地址的虛擬主機(jī)方式有如上的缺點(diǎn),HTTP 1.1 協(xié)議中增加了對基于主機(jī)名的虛擬主機(jī)的支持。具體說,當(dāng)客戶程序向WWW 服務(wù)器發(fā)出請求時,客戶想要

4、訪問的主機(jī)名也通過請求頭中的 “ Host: ”語句傳遞給WWW 服務(wù)器。比如,都對應(yīng)于同一個IP 地址(即由同一臺機(jī)器來給這兩個虛擬域名提供服務(wù)),客戶程序要存取http:/ /index.html HTTP/1.1Host: ,.WWW 服務(wù)器程序接收到這個請求后,可以通過檢查“Host: ”語句,來判定客戶程序請求是哪個虛擬主機(jī)的服務(wù),然后再進(jìn)一步的處理。優(yōu)點(diǎn):提供虛擬主機(jī)服務(wù)的機(jī)器上只要設(shè)置一個 IP 地址,理論上就可以給無數(shù)多個虛擬域名提供服務(wù),占用資源少,管理方便。目前基本上都是使用這種方式來提供虛擬主機(jī)服務(wù)。缺點(diǎn):在早期的 HTTP1.0 版本下不能使用。 實(shí)際上現(xiàn)在使用的瀏覽器

5、基本上都支持基于主機(jī)名的虛擬主機(jī)方式。二、 Apache 服務(wù)器下的虛擬主機(jī)設(shè)置技術(shù)2.1 Apache WWW 服務(wù)器簡介Apache WWW 服務(wù)器是目前 Internet上使用最廣的WWW 服務(wù)器軟件。通過靈活的配置,它可以完成幾乎您想得到的功能。本文主要介紹在Apache下設(shè)置各種虛擬主機(jī)的方法。2.2 Apache WWW 服務(wù)器下基于IP地址的虛擬主機(jī)設(shè)置使用這種虛擬主機(jī)方式,首先要在服務(wù)器上為每個虛擬主機(jī)單獨(dú)設(shè)置一個IP 地址。這些 IP 地址可以通過增加多個網(wǎng)卡或者在一個網(wǎng)卡上設(shè)立多個IP 地址來完成。 有了多個IP地址后,可以采用以下兩種方式之一來設(shè)置Apache:2.2.1

6、為每個虛擬主機(jī)運(yùn)行一份Apache采用這種方式, 每一份 Apache 程序可以以單獨(dú)的用戶運(yùn)行,因此各個虛擬主機(jī)之間互不影響。 設(shè)置這種虛擬主機(jī)時,只要為每一份Apache 設(shè)置一套配置文件就可以了,唯一需要注意的是:必須使用“Listen ”語句,強(qiáng)制每一份Apache 僅僅在屬于“自己”的IP 地址上接收服務(wù)請求。優(yōu)點(diǎn):各個虛擬主機(jī)之間互不干擾,安全性高。缺點(diǎn):占用系統(tǒng)資源較多。2.2.2 多個虛擬主機(jī)共享同一份Apache采用這種方式,各個虛擬主機(jī)共享同一份 Apache,因此各個虛擬主機(jī)之間有一定的影響,尤其是執(zhí)行 CGI 程序時,可能會帶來一些嚴(yán)重的安全問題。設(shè)置這種虛擬主機(jī)時,只

7、要為每一個虛擬主機(jī)設(shè)置類似如下的信息即可;DocumentRoot /home/company1,;優(yōu)點(diǎn):占用系統(tǒng)資源比上一種方式少。缺點(diǎn):安全性低,每個虛擬主機(jī)仍然需要占用一個IP地址。2.3 Apache WWW 服務(wù)器下簡單的基于名字的虛擬主機(jī)設(shè)置這種方式下,各個虛擬主機(jī)共享同一份 Apache,因此有 CGI 程序運(yùn)行時,安全性也不高。設(shè)置這種虛擬主機(jī)時,只要為每一個虛擬主機(jī)設(shè)置類似如下的信息即可NameVirtualHost 4;在這個IP 地址接收虛擬主機(jī)的服務(wù);ServerName DocumentRoot /www/company1;ServerName

8、 DocumentRoot /www/company2;優(yōu)點(diǎn):只要一個IP 地址就可以提供大量的虛擬主機(jī)服務(wù)。缺點(diǎn):安全性差。 維護(hù)這些虛擬主機(jī)時需要更改配置文件,并且需要重新啟動Apache 進(jìn)程才能起作用。因此不適合進(jìn)行大規(guī)模的虛擬主機(jī)服務(wù)。2.4 Apache WWW 服務(wù)器下基于名字的大規(guī)模虛擬主機(jī)設(shè)置所謂大規(guī)模虛擬主機(jī),是指能夠提供非常多的虛擬主機(jī)服務(wù),比如能提供超過數(shù)十萬個域名的虛擬主機(jī)服務(wù)。如果使用以上討論的方法,是很難完成的。實(shí)現(xiàn)這種服務(wù)的一種方式是利用 Apache 功能強(qiáng)大的 URL 重寫功能。下面以一個實(shí)例來說明這種方式。2.4.1 Apache中 URL 重寫功能Apa

9、che 1.2及以后版本都有URL 重寫( Rewrite )功能。簡單的說,URL 重寫功能就是在 Apache 接收到請求后, 在處理的過程中能根據(jù)預(yù)先設(shè)定的規(guī)則,對請求中的URL 進(jìn)行修改。這些規(guī)則主要由正規(guī)表達(dá)式組成。重寫依賴于輸入的URL、各種服務(wù)器端環(huán)境變量、HTTP 請求頭中的內(nèi)容、時間,甚至可以通過外部的程序來使用數(shù)據(jù)庫中的信息來幫助重寫。URL 重寫功能非常強(qiáng)大,通過URL 重寫,可以使 Apache 完成異常復(fù)雜的功能。當(dāng)然,URL 重寫功能本身也比較復(fù)雜,關(guān)于URL 重寫功能的詳細(xì)說明可以參看Apache 的隨機(jī)文檔。2.4.2使用 Apache 中 URL 重寫功能實(shí)現(xiàn)

10、基于名字的大規(guī)模虛擬主機(jī)設(shè)置假設(shè)機(jī)器 提供名字形如 、 等的大規(guī)模虛擬主機(jī)服務(wù)。其中虛擬主機(jī)名必須是字母或數(shù)字,并且長度至少為3。為了防止一個目錄下文件或子目錄太多而對性能產(chǎn)生很大的負(fù)面影響,對用戶的目錄按照名字進(jìn)行分級劃分,如虛擬主機(jī) 的相關(guān)文件存放在目錄/member/ab/de/abcde下面。其中“ ab”“、 de”分別是“ abcde”的前邊兩個字符和最后兩個字符。當(dāng)用戶請求 http:/ 時,系統(tǒng)應(yīng)該返回 /member/ab/de/abcde 下面的文件。 下面是為了完成這種功能需要進(jìn)行的設(shè)置:1.對域名服務(wù)器的設(shè)置假設(shè) 的中增加一行 :IP地址為7,

11、在域名服務(wù)器DNS的 數(shù)據(jù)文件-*INA7-這樣,所有 *個虛擬主機(jī)分別進(jìn)行設(shè)置。的IP地址都會被解析為7,就沒有必要為各2.對 Apache 的設(shè)置首先使用命令“httpd -l”檢查有,重新編譯Apache。然后在 Apache 的配置文件httpd.confmod_rewrite模塊是否已經(jīng)編譯到Apache 中,如果沒中增加如下語句(其中以“#”開頭的為注釋) :-#禁止使用機(jī)器的正式名UseCanonicalName off#使能重寫功能RewriteEngine onRewriteMap lowercase int:tolower

12、為安全考慮,對CGI 程序不進(jìn)行重寫RewriteCond %REQUEST_URI !/cgi-bin/# 對 不重寫,其他的重寫RewriteCond $lowercase:%HTTP_HOST !(.*)$RewriteCond $lowercase:%HTTP_HOST a-z0-9-+(.*)$首先把機(jī)器名改為小寫,添加到請求的文件路徑前,并繼續(xù)處理RewriteRule (.+) $lowercase:%HTTP_HOST$1 C重寫請求RewriteRule(a-z0-9)(a-z0-9)(a-z0-9)(.*)/(.*)/member/$1$2/$2$3/$1$2$3/$5Re

13、writeRule(a-z0-9)(a-z0-9)(a-z0-9*)(a-z0-9)(a-z0-9)(.*)/(.*)/member/$1$2/$4$5/$1$2$3$4$5/$7-優(yōu)點(diǎn):只要一個IP 地址就可以提供大量的虛擬主機(jī)服務(wù),維護(hù)方便。缺點(diǎn):安全性低。上例為了增強(qiáng)安全性,禁止運(yùn)行用戶自己的CGI程序。2.5 Apache WWW 服務(wù)器下的重定向虛擬主機(jī)設(shè)置重定向虛擬主機(jī)是指僅僅提供重定向功能,而不實(shí)際存放用戶主頁數(shù)據(jù)的虛擬主機(jī)。如,某站點(diǎn)有多個鏡像服務(wù)器,假設(shè)為 、 ,, 。這些服務(wù)器放在不同的網(wǎng)絡(luò)上,分布于各地的客戶訪問這些服務(wù)器的速度也互不相同。而站點(diǎn) 通過虛擬域名 為這些鏡像

14、的服務(wù)器提供虛擬主機(jī)服務(wù)。當(dāng)客戶訪問 http:/時,根據(jù)用戶的IP地址、收集到的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)信息,把客戶重定向到對該客戶來說訪問速度最快的站點(diǎn)。重定向虛擬主機(jī)服務(wù)也可以通過使用URL 重寫功能來完成。這里僅給出簡單的重寫規(guī)則:-RewriteRule(a-z0-9+)(.*)/(.*)/www/cgi-bin/nph-redirect.cgi/$1/$3 T=application/x-httpd-cgi,L-其中,nph-redirect.cgi為一個 CGI 程序,為了實(shí)現(xiàn)自動重定向,它需要產(chǎn)生完整的HTTP 應(yīng)答頭信息。 該程序通過環(huán)境變量PATH_INFO 得到用戶請求的URL,通過

15、環(huán)境變量REMOTE_ADDR得到用戶的 IP 地址,并根據(jù)網(wǎng)絡(luò)拓?fù)淝闆r生成重定向信息,返回給客戶。參考文獻(xiàn):1 Apache 1.3 Users Guide Virtual Hosting Setup Using ApacheAbstract:There are two types of WWWVirtual Hosting, IP-based and Name-based. Those two types areintroduced in this thesis, followed by some methods about WWW Virtual

16、Hosting configuration underApache and the difference between them is analyzed.謝謝,我只要的是這個The vhost.map file contains something like this:www.customer- /www/customers/1www.customer- /www/customers/2# .www.customer-N.com /www/customers/NThe http.conf contains this:RewriteEngine onRewriteMap lowercase int:tolower# define the map fileRewriteMap vhosttxt:/www/conf/vhost.map# deal with alia

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論