參考資料:web
對一個Tomcat,能夠配置多臺虛擬主機。簡單地說,就是讓一臺服務器能夠對應多個主機名。這在Tomcat中稱之爲Host。要求每一個Host的Name必須惟一。tomcat
配置方法:服務器
編輯$CATALINA_HOME/conf/server.xml,添加以下內容:app
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> </Host>
appBase指定了該虛擬主機上應用的部署位置,通常填寫相對於CATALINA_HOME的相對路徑便可。固然,也能夠填寫其餘地址,如<Context path="" docBase="E:/tomcatApp/JeasyCMS" debug="0" reloadable="true" />webapp
在一個Host上,能夠部署多個應用。每一個應用都有不一樣的Context Path,Context Path會出如今用戶訪問該應用的URL中。示例以下:spa
<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 。debug
須要注意的是:code
一、當未給Host配置Context時,Tomcat默認把ROOT項目做爲Root Context,即此時訪問 http://localhost:8080 就是訪問ROOT項目server
二、當給Host配置Context時,若是path="" 或 path="/",則至關於將此Context指定爲Root Context,上面所舉例子的第一個Contextxml
三、即便指定了項目對應的Context,在URL中也能夠經過完整路徑訪問到該項目。如對於上面所舉的第一個Context,當訪問 http://localhost:8080/zhx-web 時 仍能訪問到zhx-web項目
四、當指定了一個本身的項目做爲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 訪問到