Tomcat 的配置檔案 server.xml 詳解
理解Tomcat 的配置檔案 server.xml
Tomcat 的配置檔案 server.xml
結構:
<Server>
...
<Service>
<Connector></Connector>
<Connector></Connector>
<Engine>
<Host>
<Context/>
</Host>
</Engine>
</Service>
</Server>
Server:根元素,表示整個伺服器的配置資訊。
Service:它表示服務,在 <Server> 中只能有一個Service元素。
Connector:它表示連線,在 <Service> 中可以有N個Connector元素。
Engine:該元素表示引擎,它是<Service>元件的核心,在<Service>中只能有一Engine元素。
Host:每個<Host>元素表示一個虛擬主機,在<Engine>中可以有N個<Host>元素。所謂虛擬主機就像是真的主機一樣,
每個主機都有自己的主機名和專案目錄。例如:<Host name=”localhost” appBase=”webapps”>表示主機名
為localhost,這個主機的專案存放在webapps目錄中。訪問這個專案下的主機時,需要使用localhost主機名,
專案都存放在webapps目錄下。
Context:每個<Context>元素表示一個web應用,在<Host>中可以有N個<Context>元素。
如果應用在<Host>的appBase指定的目錄下,那麼可以不配置<Context>元素;
如果是外部應用,那麼就必須配置<Context>;
如果要為應用指定資源,也需要配置<Context>元素。
理解方法:
我們可以把Server看作是一個大酒店:
Service:酒店的服務部門;
Connector:服務員;
Engine:後廚;
Host:後廚中的一個區,例如川菜區是一個<Host>、粵菜區是一個<Host>;
Context:後廚某個區的一個廚師。
描述過程:
使用者發出一個請求:http://localhost:8080/hello/index.jsp。發現是http/1.1協議,而且還是8080埠,
所以就交給了處理這一請求的“服務員(處理HTTP請求的<Connector>)”,
“服務員”再把選單(請求)交給了“後廚(<Engine>)”,
因為請求是要一盤水煮魚,所以由“川菜區(<Host>)”負責,
因為“大老王師傅<Context>”做水煮魚最地道,所以由它完成。
Connector:關心請求中的http、和8080,用於 瀏覽器-Tomcat伺服器握手連線;
Host:關心localhost 主機;
Context:關心hello專案。