一臺電腦同時啟動多個Tomcat遇到的問題
最近想嘗試部署一個Tomcat叢集
可是發現無論啟動8081還是8082都是啟動的8.5.6。
解決方式可以有以下幾種:
1.找到 環境變數裡的 CATALINA_HOME,將其刪除,如果Path裡也有相關配置的話,也刪除。
2.開啟8081或8082 的startup.bat檔案 找到:
Guess CATALINA_HOME if not defined
set "CURRENT_DIR=%cd%"
if not "%CATALINA_HOME%" == "" goto gotHome
set "CATALINA_HOME=%CURRENT_DIR%"
確保 該段程式碼正常。
其實我自己本來的startup.bat檔案這段程式碼,是這樣的:
rem Guess CATALINA_HOME if not defined
set "CURRENT_DIR=%cd%"
if not "%CATALINA_HOME%" == "" goto gotHome
set "CATALINA_HOME=%CURRENT_DIR%"
rem Guess CATALINA_HOME if not defined
set "CURRENT_DIR=%cd%"
if not "%CATALINA_HOME%" == "" goto gotHome
set "CATALINA_HOME=%CURRENT_DIR%"
這個rem 將 後面的一句話 註釋掉了,所以才總是啟動同一Tomcat。
3.開啟8081或8082 的startup.bat檔案,在前面 加一句:
set CATALINA_HOME=E:\apache-tomcat-8.5.23-8081\apache-tomcat-8.5.23
set JAVA_HOME=E:\jdk1.8.0_131
set JRE_HOME=E:\jdk1.8.0_131\jre
這樣也是可以解決問題的。
如果還是不行:
再加:
set CATALINA_BASE=E:\apache-tomcat-8.5.23-8081\apache-tomcat-8.5.23
現在啟動8081或者8082都會啟動自己的Tomcat了。。。
我自己的問題比較奇葩,用了1之後發現問題沒解決,又用了2或3,才正常執行的。
如果想同時啟動8081,8082,8.5.6這三個Tomcat的話,還需要繼續配置,修改埠:
修改8081,8082中的server.xml檔案,將
<Server port="8007" shutdown="SHUTDOWN">
<Connector port="8082" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<Connector port="8011" protocol="AJP/1.3" redirectPort="8443" />
一共這三個位置的埠號,每個Tomcat自己做相應的配置。
TIP: 可以在startup.bat檔案最後加 pause 這句話,檢視tomcat啟動報的錯
在startup.bat檔案如果有 setlocal 這句話,可以嘗試註釋掉,看看有沒有效果
如果是在linux環境下為tomcat指定JDK:
修改catalina.sh,在上面的兩個shell指令碼開頭的地方指定JAVA_HOME
export JAVA_HOME=/opt/hermes/jdk1.8.0_111