1. 程式人生 > >Tomcat虛擬主機與虛擬目錄

Tomcat虛擬主機與虛擬目錄

虛擬主機與虛擬目錄

有這麼一家公司,這家公司呢為了宣傳自己.做了兩個網站來宣傳.
網址分別是www.gogo.com 和 www.pcw.com
可是公司老總不想用兩臺伺服器.只想在一臺伺服器上部署這兩個專案.
但是一臺電腦只有一個80埠啊,總不能說訪問其中一個專案的時候要帶上埠吧.
為了解決這個問題,就需要將tomcat新增一個虛擬主機.公用這個80埠.
好了,這個問題解決了,可是新的問題又出現了.
隨著公司的不斷髮展,專案越來越大,檔案越來越多.一個硬碟都塞滿了,空間不夠用了.
要是能把這個專案中的檔案放到別的盤就好了,所以這個時候我們就可以配置一個虛擬目錄.
這樣就可以把這個專案中的一些檔案放到這個虛擬目錄中,這樣就解決了這個問題.

Tomcat/conf/server.xml

配置虛擬主機與虛擬目錄需要用到這個檔案.下面就說一說這個檔案.
這裡寫圖片描述
這幅圖是一個標準的server.xml檔案.我只是把其中的註釋刪除了.
下面大致介紹一下 :
第2行 : 埠8005是關閉服務的監聽埠,如果用telnet命令連上,輸入SHUTDOWN那麼tomcat就會關閉了.
第17行 : 配置tomcat監聽瀏覽器訪問埠.http協議就會走80(原8080)埠,https協議就會轉發到8443埠.
第18行 : 與apache伺服器整合時使用的埠,使用ajp協議.
第19行 : Engine 標籤是一個引擎.裡面至少要有一個Host標籤.
第22行 : Host標籤配置了一個虛擬主機.
第24行 : Context標籤配置了一個虛擬目錄

Host與Context

從上面可以看出來,如果你想新增一個虛擬主機,則需要新增一個Host節點.
如果你想新增一個虛擬目錄,則需要新增一個Context節點.
可是如何新增呢?這些引數都有什麼含義呢??下面我就簡單說一下.

新增一個虛擬主機

只需要新增一個Host節點就可以新增一個虛擬主機.
我現在想做到這種效果,當用戶輸入www.zte.com時,就可以訪問我的專案了.那麼就需要進行下面這樣配置
這裡寫圖片描述
name : 表示使用者訪問的虛擬主機名字.
appBase : 對比上面的名為localhost的虛擬主機,上面的用的是相對地址相對tomcat的安裝目錄.
那麼此處的意思就是說,我的D盤下www這個資料夾下就相當與tomcat中的那個webapps目錄了.
僅僅這樣還是不夠的.因為瀏覽器解析不了www.zte.com這個網址.
所以我們需要修改一個C:\Windows\System32\drivers\etc\hosts檔案
這裡寫圖片描述


途中箭頭指向的地方是一個table鍵
書寫規則 : table + ip + table + 域名.這樣本機就會找到www.zte.com的ip地址了.
我們在D盤的www資料夾下建立一個ROOT資料夾,資料夾裡面放一個index.html.
檔案內容為 d:/www. ok訪問一下
這裡寫圖片描述
這樣,虛擬主機就建立好了.
ps : 之所以要放在ROOT目錄下,因為ROOT目錄為預設訪問目錄.
一個虛擬主機可以放很多專案,訪問的時候都是ip:port/serverName
如果埠是80,那麼埠可以省略.如果訪問的是預設的目錄,那麼目錄名也可以省略.

虛擬目錄

下面我就在E盤給www.zte.com配置一個虛擬目錄.並且設定他為預設目錄.
這裡寫圖片描述
path : 表示訪問的時候需要新增的路徑.如果為空,則表示預設訪問這個.
docBase : 虛擬目錄的位置.同上,在這個目錄下簡歷一個測試的index.html
這裡寫圖片描述
這樣虛擬目錄就配置好了.

總結

因為今天突然想到了這個,就百度了半天然後總結了一下,做了一個簡單的配置.
其實這裡面還有好多引數可以設定,以後學習深入了在做配置.
如果虛擬主機中不寫Context那麼預設訪問的就是ROOT.
如果你寫了,並且設定path為空,那麼預設訪問的就是Context虛擬目錄的位置.