參考資料:
一、Host配置
對一個Tomcat,可以配置多台虛擬主機。簡單地說,就是讓一台服務器可以對應多個主機名。這在Tomcat中稱之為Host。要求每個Host的Name必須唯一。
配置方法:
編輯$CATALINA_HOME/conf/server.xml,添加如下內容:
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> </Host>
appBase指定了該虛擬主機上應用的部署位置,一般填寫相對於CATALINA_HOME的相對路徑即可。當然,也可以填寫其他地址,如<Context path="" docBase="E:/tomcatApp/JeasyCMS" debug="0" reloadable="true" />
二、Context配置
在一個Host上,可以部署多個應用。每個應用都有不同的Context Path,Context Path會出現在用戶訪問該應用的URL中。示例如下:
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> <Context docBase="zhx-web" path="" reloadable="true" ></Context> /* Root Context */ <Context docBase="ROOT" path="/admin" reloadable="true" ></Context> /* path 須為空 或 以/開頭且不以/結束 */ </Host>
如果Tomcat綁定的端口為8080,則訪問 http://localhost:8080 即可訪問 項目zhx-web,訪問 http://localhost:8080/admin 即可訪問項目 ROOT 。
需要注意的是:
1、當未給Host配置Context時,Tomcat默認把ROOT項目作為Root Context,即此時訪問 http://localhost:8080 就是訪問ROOT項目
2、當給Host配置Context時,如果path="" 或 path="/",則相當於將此Context指定為Root Context,上面所舉例子的第一個Context
3、即使指定了項目對應的Context,在URL中也可以通過完整路徑訪問到該項目。如對於上面所舉的第一個Context,當訪問 http://localhost:8080/zhx-web 時 仍能訪問到zhx-web項目
4、當指定了一個自己的項目作為Root Context后,就無法直接通過http://localhost:8080/ROOT訪問管理頁面了,所以加上 <Context docBase="ROOT" path="/admin" reloadable="true" ></Context> http://localhost:8080/admin訪問。
另外,webapps下的ROOT是tomcat的應用程序的根,如果應用程序部署在ROOT中,則可直接通過http://ip:port 訪問到