具有完全獨(dú)立的文檔目錄結(jié)構(gòu)及設(shè)置,這樣域名之間完全獨(dú)立,不但使用每個域名
訪問到的內(nèi)容完全獨(dú)立,并且使用另一個域名無法訪問其他域名提供的網(wǎng)頁內(nèi)容。
虛擬主機(jī)的概念對于ISP來講非常有用,因?yàn)殡m然一個組織可以將自己的網(wǎng)頁掛在具備其他域名的服務(wù)器上的下級往址上,但使用獨(dú)立的域名和根網(wǎng)址更為正式,易為眾人接受。傳統(tǒng)
上,必須自己設(shè)立一臺服務(wù)器才能達(dá)到單獨(dú)域名的目的,然而這需要維護(hù)一個單獨(dú)的服務(wù)器,很多小單位缺乏足夠的維護(hù)能力,更為合適的方式是租用別人維護(hù)的服務(wù)器。ISP也沒有必要為一
個機(jī)構(gòu)提供一個單獨(dú)的服務(wù)器,完全可以使用虛擬主機(jī)能力,使服務(wù)器為多個域名提供Web服務(wù),而且不同的服務(wù)互不干擾,對外就表現(xiàn)為多個不同的服務(wù)器。
有兩種設(shè)定虛擬主機(jī)的方式,一種是基于HTTP 1.0標(biāo)準(zhǔn),需要一個具備多IP地址的服務(wù)
器,再配置DNS 服務(wù)器,給每個IP地址以不同的域名,最后才能配置Apache的配置文件,使服務(wù)器對不同域名返回不同的Web文檔。由于這需要使用額外的IP地址,對每個要提供服務(wù)的域名都
要使用單獨(dú)的IP地址,因此這種方式實(shí)現(xiàn)起來問題較多。
可以在一個網(wǎng)絡(luò)界面上綁定多個IP地址,F(xiàn)reeBSD下需要使用ifconfig的alias參數(shù)來進(jìn)行這個配置,但此時會影響網(wǎng)絡(luò)性能。
HTTP 1.1標(biāo)準(zhǔn)在協(xié)議中規(guī)定了對瀏覽器和服務(wù)器通信時,服務(wù)器能夠跟蹤瀏覽器請求的是哪個主機(jī)名字。因此可以利用這個新特性,使用更輕松的方式設(shè)定虛擬主機(jī)。這種方式不需要
額外的IP地址,但需要新版本的瀏覽器支持。這種方式已經(jīng)成為建立虛擬主機(jī)的標(biāo)準(zhǔn)方式。
要建立非IP基礎(chǔ)的虛擬主機(jī),多個域名是不可少的配置,因?yàn)槊總域名就對應(yīng)一個要服務(wù)的虛擬主機(jī)。因此需要更改DNS服務(wù)器的配置,為服務(wù)器增加多個CNAME選項(xiàng),如:
freebsd IN A 192.168.1.64
vhost1 IN CNAME freebsd
vhost2 IN CNAME freebsd
基本的設(shè)置選項(xiàng)都是為了freebsd主機(jī)設(shè)定的,如果要為vhost1和vhost2設(shè)定虛擬主機(jī),就要使用VirtualHost語句定義不同的選項(xiàng),在語句中可以使用配置文件前面中的大部分選項(xiàng)
,而可以重新定義幾乎所有的針對服務(wù)器的設(shè)置。
NameVirtualHost 192.168.1.64
DocumentRoot /usr/local/www/data
ServerName freebsd.example.org.cn
DocumentRoot /vhost1
ServerName vhost1.example.org.cn
DocumentRoot /vhost2
ServerName vhost2.example.org.cn
這里需要注意的是,VirtualHost的參數(shù)地址一定要和NameVirtualHost定義的地址相一致,必須保證所有的值嚴(yán)格一致,Apache服務(wù)器才承認(rèn)這些定義是為這個IP地址定義的虛擬主機(jī)
。
此外,定義過NameVirtualHost之后,那么對這個IP地址的訪問都被區(qū)分不同的虛擬主
機(jī)進(jìn)行處理,而對其他IP地址的訪問,例如127.0.0.1,才應(yīng)用前面定義的缺省選項(xiàng)。
NameVirtualHost www.xxx.org
。▽τ趧討B(tài)IP的另類方法:指定虛擬主機(jī)的IP,由于要將域名映射為IP,不能使用localhost,127.0.0.1,計算機(jī)名,等這樣的地址,所以,可以再一次通過域名轉(zhuǎn)換,將域名轉(zhuǎn)換
為IP,這樣就不必每次更改IP了。)
#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for requests without a known
# server name.
#
<VirtualHost 192.168.0.1>(虛擬主機(jī)IP)
ServerAdmin 111@xxx.com(第一個虛擬主機(jī)Email)
DocumentRoot H:/web001(第一個虛擬主機(jī)目錄)
ServerName www.xxx.org(第一個虛擬主機(jī)域名)
ErrorLog logs/www.xxx.org-error.log(第一個虛擬主機(jī)錯誤日志)
CustomLog logs/www.xxx.org-access.log common(第一個虛擬主機(jī)數(shù)據(jù))
</VirtualHost>
<VirtualHost 192.168.0.2>(虛擬主機(jī)IP)
ServerAdmin 111@xxx.com(第二個虛擬主機(jī)Email)
DocumentRoot H:/web002(第二個虛擬主機(jī)目錄)
ServerName www.xxx2.org(第二個虛擬主機(jī)域名)
ErrorLog logs/www.xxx2.org-error.log(第二個虛擬主機(jī)錯誤日志)
CustomLog logs/www.xxx2.org-access.log common(第二個虛擬主機(jī)數(shù)據(jù))
</VirtualHost>
以此類推,可以增加更多虛擬主機(jī)。
Apache服務(wù)以及httpd.conf配置詳解
億恩科技地址(ADD):鄭州市黃河路129號天一大廈608室 郵編(ZIP):450008 傳真(FAX):0371-60123888
聯(lián)系:億恩小凡
QQ:89317007
電話:0371-63322206 本文出自:億恩科技【mszdt.com】
服務(wù)器租用/服務(wù)器托管中國五強(qiáng)!虛擬主機(jī)域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM]
|