1. 程式人生 > >一個Tomcat配置多個Service多個專案

一個Tomcat配置多個Service多個專案

原文http://www.educity.cn/wenda/373958.html  稜鏡學院-專注IT線上教育

Tomcat配置多個Service,多個同名的應用執行在一個tomcat下

網站專案中有時候會碰到,每個網站一個網站後臺程式,偏偏因為某種原因,這後臺程式的名稱還是一樣的,比如都叫 app.war,這樣如果有2個或以上網站需要用各自的app.war,那麼就需要安裝多個tomcat,資源浪費比較大。也不好管理。有沒有一種可能,將這幾個app.war放到一個tomcat下執行呢?  答案是可以的。

修改%TOMCAT_HOME%/conf/server.xml
將Service元素複製一份,直接貼上到原來那個Service元素之後,即 .....這一部分複製下來,放到第一個 之後,然後再繼續修改剛剛新增的部分配置資訊:



按照下列步驟修改第二個Service元素:

將Service元素的name屬性改為Catalina2
將第一個Connector元素的port屬性由8080改為其他未使用的埠,如8081
將第二個Connector元素的port屬性由8009改為其他未使用的埠,如8010
將Engine元素的name屬性由Catalina改為Catalina2,與Service的name屬性保持一致
將Host元素的appBase屬性由webapps改為webapps2
建立目錄
%TOMCAT_HOME%/conf/Catalina2/localhost
%TOMCAT_HOME%/webapps2
將%TOMCAT_HOME%/webapps/ROOT複製到%TOMCAT_HOME%/webapps2


這樣就有兩個工程放置的目錄,一個是webapp 一個是webapp2,這裡面都可以放你的war工程,而且如果工程名字相同都沒有問題。它們之間是沒有干擾的。

啟動Tomcat
訪問tomcat主頁 可以
http://localhost:8080/app
http://localhost:8081/app

當然你可以配置了多個 Service 元素。就需要修改Tomcat的記憶體引數,防止記憶體溢位。如果你是linux系統,修改 %TOMCAT_HOME%/bin/catalina.bat  
-Xms //初始堆大小  
-Xmx //最大堆大小  
-XX:PermSize    //初始永久區大小  
-XX:MaxPermSize  //最大永久區大小  

放到有效配置的第一行

set JAVA_OPTS=-server -Xincgc -Xms1024m -Xmx1024m -XX:MaxPermSize=256m  

如果你是windows系統,去修改登錄檔吧,
HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Procrun 2.0\tomcat6.0\Parameters\Java
右邊的 Options 裡面一條配置佔一行 前後不能有空格。 
然後重啟。