Tomcat 6 配置虛擬主機,並通過Tomcat控制檯對多個Host進行管理

Tomcat 6 配置虛擬主機<域名/二級域名>,並通過Tomcat控制檯對多個Host進行管理,讓我糾結了好幾天的問題,開始將項目放在tomcat webapps目錄下,是可以實現tomcat控制檯管理每個項目的,但是放在webapps下,項目會啓動N次,每個Host都將會使webapps下的項目啓動一次,若將項目放置在其他位置,只啓動一次,但tomcat控制檯卻無法看到host對應的項目,從而無法單獨進行管理<啓動,停止,重新部署等。。。>,有鑑於此,本文結合網上的一些資料,將從配置虛擬主機到可管理的配置從頭詳細的理一遍,方便自己也方便大家查閱,如有錯誤或更好的建議請各位大神斧正!

假設現有兩個二級域名 dls.wsy.com 和 zd.wsy.com ,對應兩個項目,都跑在同一臺服務器的同一個tomcat上,我們需要通過dls.wsy.com訪問項目dls,和通過zd.wsy.com訪問項目zd,就需要Tomcat的虛擬主機的支持,具體配置如下:

1、找到{tomcat_home}/conf/server.xml ,找到<Host></Host>標籤,在其後面增加如下標籤:

[html] view plain copy
  1. <Hostname="dls.wsy.com"appBase="E:\\work\\run_project\\agent"
  2. unpackWARs="true"autoDeploy="true"
  3. xmlValidation="false"xmlNamespaceAware="false">
  4. </Host>
  5. <Hostname="zd.wsy.com"appBase="E:\\work\\run_project\\terminal"
  6. unpackWARs="true"autoDeploy="true"
  7. xmlValidation="false"xmlNamespaceAware="false">
  8. </Host>

2、其中,目錄E:\\work\\run_project\\agent 和目錄E:\\work\\run_project\\terminal是自己建的,隨便建,在這裏指向過去就好了,同時在這兩個目錄下新建ROOT目錄,目錄下放入你的項目,注意,放入ROOT目錄下的項目不應該帶項目名,只放項目內容,如項目的目錄結構如下圖:


3、到這一步,啓動Tomcat,如果域名指到當前機器上的話,應該是已經能通過域名訪問你的項目了!但是這時候通過Tomcat控制檯卻無法看到兩個域名對應的項目,所以就無法進行單獨管理,如果需要tomcat控制檯進行啓動、關閉、查看運行信息等操作,就需要進行如下配置:

找到{tomcat_home}/conf/Catalina,新建兩個目錄,dls.wsy.com和zd.wsy.com,分別在兩個目錄下放入manager.xml,文件名可以自定義,爲訪問控制檯的項目名,這裏爲manager,那麼訪問控制檯的url則分別爲:http://dls.wsy.com/manager/html 和http://zd.wsy.com/manager/html ,若修改成其他的,則將url中的manager替換一下就可以了,同樣能訪問到tomcat的控制檯。xml內容如下:

[html] view plain copy
  1. <Contextpath="/manager"docBase="{tomcat_home}\\webapps\\manager"--這裏的tomcat_home需要替換成您實際的tomcat安裝目錄的絕對路徑
  2. debug="0"privileged="true">
  3. <!--Linktotheuserdatabasewewillgetrolesfrom-->
  4. <ResourceLinkname="users"global="UserDatabase"
  5. type="org.apache.catalina.UserDatabase"/>
  6. </Context>


4、現在就可以通過url訪問每個虛擬主機的控制檯了,輸入:http://dls.wsy.com/manager/html 或 http://zd.wsy.com/manager/html 可以對兩個項目進行管理,截圖如下:

原文地址http://blog.csdn.net/tangkai_java/article/details/7860062