<Host name="www.xydesign.cn" debug="0" appBase="d:\site1">
<Context path="" docBase="." debug="0"/>
</Host>
這樣,將創(chuàng)建一個新的WEB站點(diǎn)。上面的<Context>元素的docBase屬性值被設(shè)置為一個點(diǎn)(.),即表示使用<Host>元素的appBase屬性中所設(shè)置的路徑作為這個<Context>所映射的目錄。
(2)在上面新增的<Host></Host>標(biāo)簽對下面再增加一對<Host></Host>標(biāo)簽,并將它設(shè)置為如下形式:
<Host name="www.xydesign.net.cn" debug="0" appBase="d:\site2">
<Context path="" docBase="." debug="0"/>
</Host>
這又創(chuàng)建了一個新的WEB站點(diǎn),該站點(diǎn)的主機(jī)名稱為www.xydesign.net.cn,根目錄對應(yīng)的本地文件系統(tǒng)目錄為d:\site2。
(3)在d:盤下創(chuàng)建名稱為site1和site2兩個目錄,并在這兩個目錄中分別創(chuàng)建一個名為test.html的文件,在d:\site1\test.html文件中寫入如下一行內(nèi)容:
這是d:\site1目錄中的test.html文件
在d:\site2\test.html文件中寫入如下一行內(nèi)容:
這是d:\site2目錄中的test.html文件
(4)用記事本程序打開c:\winnt\System32\Drivers\Etc\Hosts文件,可以看到有如下一行內(nèi)容:
127.0.0.1 localhost
緊接這行文本的下面,用它復(fù)制出兩行文本,并將這兩行文本中的localhost分別修改成www.xydesign.cn和www.xydesign.net.cn,這樣,就使用Hosts文件為當(dāng)前計(jì)算機(jī)設(shè)置了多個主機(jī)名。如果要用www.xydesign.cn和www.xydesign.net.cn這個兩主機(jī)名訪問其他計(jì)算機(jī)上的WEB站點(diǎn),則應(yīng)將127.0.0.1修改成其他計(jì)算機(jī)的實(shí)際IP地址。保存Hosts文件后,Hosts文件的內(nèi)容如下:
127.0.0.1 localhost
202.104.125.154 www.xydesign.cn
202.104.125.154 www.xydesign.net.cn
其中202.104.125.154為您服務(wù)器的固定IP地址。
在命令行窗口中執(zhí)行“ping www.xydesign.cn”和“ping www.xydesign.net.cn”命令,查看該主機(jī)名是否被正確解析到了相應(yīng)的IP地址上。建立site1和site2與計(jì)算機(jī)IP地址的映射后,在IE瀏覽器地址欄中輸入http://localhost:8080/test.html、http://www.xydesign.cn:8080/test.html和http://www.xydesign.net.cn:8080/test.html,可以看到瀏覽器將顯示出各自站點(diǎn)中的test.html網(wǎng)頁文件的內(nèi)容。
如需不要后面的8080端口號,可直接把tomcat端口號設(shè)置為80即可。
(5)設(shè)置域名www.xydesign.cn www.xydesign.net.cn 的解析IP地址都為202.104.125.154(即您服務(wù)器的IP地址)。
可見,使用主機(jī)名的方式在同一臺WEB服務(wù)器上創(chuàng)建多個虛擬主機(jī)后,在WEB瀏覽器中使用主機(jī)名訪問Web服務(wù)器時,Web服務(wù)器將選擇與該主機(jī)名關(guān)聯(lián)的WEB站點(diǎn)進(jìn)行響應(yīng)。通過這種方式,多個WEB站點(diǎn)可以共享同一個IP地址和相同的端口號,唯一不足的就是WEB瀏覽不能通過IP地址去訪問這些WEB站點(diǎn)。基于主機(jī)名的虛擬主機(jī)是目前Internet上的大多數(shù)虛擬主機(jī)業(yè)務(wù)提供商所通常采用的方式。只要找出幾個小型公司或個人的網(wǎng)站,如果在WEB瀏覽器地址欄中輸入“http://主機(jī)名”可以訪問到該WEB站點(diǎn),接著在命令行窗口中執(zhí)行“ping 主機(jī)名”,查看到該域名對應(yīng)的IP地址,然后在WEB瀏覽器地址欄中輸入“http://IP地址”時,卻無法訪問這個WEB站點(diǎn)了,那么,這個WEB站點(diǎn)就是一個基于主機(jī)名的虛擬主機(jī),它與其他一些WEB站點(diǎn)共享一臺WEB服務(wù)器,而不是自己獨(dú)享一臺WEB服務(wù)器。
注意:當(dāng)使用安全套接字層 (SSL) 時,不能使用主機(jī)頭字段來實(shí)現(xiàn)虛擬主機(jī),這是因?yàn)槭褂肧SL的HTTP請求有加密保護(hù)。主機(jī)頭字段是加密內(nèi)容的一部分,不能被解釋和路由到正確的站點(diǎn)。