Linux同時執行多個Tomcat
阿新 • • 發佈:2019-01-07
背景:起初是這樣的:在一個tomact裡放了好多個web專案,啟動過,過一段時間,發現不能正常訪問,現象就是感覺tomcat已經關閉了。檢視日誌發現:tomcat報錯了<java.lang.OutOfMemoryError:PermGen space>,這才知道記憶體溢位了。FK!!!原來的放的專案太多了,這樣就需要配置多個tomcat。
每個tomcat都有自己的埠和監聽的埠,那麼要多個執行,就必須使用不同的埠,具體怎麼操作呢,看下面:
1)需要JDK作為支撐,這裡就不做處理了,我這裡的目錄:/usr/local/jdk7
2)首先下載對應的linux下的tomcat版本,存放於2個目錄,這裡以/usr/local/tomcat01和/usr/local/tomcat02為例,多個以此類推。這裡tomcat01為了統一,就也把預設配置改掉了。
3)首先,將tomcat02的根目錄配置到/etc/profile中,如下:
export JAVA_HOME=/usr/local/jdk7 export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export PATH=$JAVA_HOME/bin:$PATH CATALINA_BASE=/usr/local/tomcat01 CATALINA_HOME=/usr/local/tomcat01 export CATALINA_BASE CATALINA_HOME CATALINA_2_BASE=/usr/local/tomcat02 CATALINA_2_HOME=/usr/local/tomcat02 export CATALINA_2_BASE CATALINA_2_HOME TOMCAT_HOME=/usr/local/tomcat01 export TOMCAT_HOME TOMCAT_2_HOME=/usr/local/tomcat02 export TOMCAT_2_HOME
配置完成後,執行source /etc/profile 使之生效。
4)修改對應tomcat下conf目錄下的server.xml檔案,指定其對應埠號。
tomcat01的,修改如下:第一個地方:修改關閉監聽埠,預設8005,修改為8051,當然你可以改成其他任意沒有用過的埠號。
<Server port="8051" shutdown="SHUTDOWN">
<Listener className="org.apache.catalina.startup.VersionLoggerListener" />
第二個地方:修改http監聽埠,預設8080,這裡改成8081,我這裡加了下其他配置。第三個地方:修改 AJP 的對應埠,預設8009,修改為9080:<Connector port="8081" protocol="org.apache.coyote.http11.Http11NioProtocol" URIEncoding="UTF-8" minSpareThreads="1000" maxSpareThreads="4000" enableLookups="false" disableUploadTimeout="true" connectionTimeout="20000" acceptCount="4000" maxThreads="5000" maxProcessors="5000" minProcessors="100" useURIValidationHack="false" compression="on" compressionMinSize="2048" compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain" redirectPort="8443" />
<Connector port="9080" protocol="AJP/1.3" redirectPort="8443" />
好了,這樣就把第一個的server.xml配置修改完成了。第二個tomca02的配置類似,3個埠我設定的是:8052,8083,9081
5)修改tomcat/bin下的啟動指令碼,其實就是新增幾行程式碼,如在tomcat01的startup.sh和shutdown.sh檔案中新增如下程式碼:
# -----------------------------------------------------------------------------
# Start Script for the CATALINA Server
# -----------------------------------------------------------------------------
export JAVA_HOME=/usr/local/jdk7
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=$JAVA_HOME/lib
export CATALINA_HOME=$CATALINA_HOME
export CATALINA_BASE=$CATALINA_BASE
# Better OS/400 detection: see Bugzilla 31132
[注:]上下被#註釋掉的地方,是為了方便大家找到新增的位置,是原來檔案中的內容,我們這裡新增的是export開頭的程式碼。
那麼對應的tomcat02配置如下;
export JAVA_HOME=/usr/local/jdk7
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=$JAVA_HOME/lib
export CATALINA_HOME=$CATALINA_2_HOME
export CATALINA_BASE=$CATALINA_2_BASE
哦了,這樣就完成了linux中多個tomcat的配置。下面就可以在每個tomcat/bin目錄下分別執行./startup.sh了。最後在瀏覽器中分別輸入http://localhost:8081和http://localhost:8083就可以看到,已經配置成功了。
###如果您覺得幫到您,請頂一下。謝謝呢!###