Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學

Linux 下同時運行多個 Tomcat 實例:修改三大連接埠完美共存

編輯:系統常見問題解答

單台 Linux 伺服器因資源限制或專案隔離需求,常需同時運行多個 Tomcat 實例。關鍵在於修改 server.xml 中的三組連接埠(HTTP、Shutdown、AJP),避免衝突。本文以 ZIP 版 Tomcat 為例,詳細說明修改位置、建議數值與驗證步驟,助您輕鬆實現多實例部署。

前置條件

  • 已安裝 JDK,設定 JAVA_HOME。
  • 下載 Tomcat ZIP(如 apache-tomcat-9.0.x.tar.gz),解壓至兩個目錄:
    /opt/tomcat-instance1
    /opt/tomcat-instance2

修改第二個實例的 conf/server.xml

  1. HTTP 連接埠(預設 8080)
    約第 69 行(視版本而定),找到 <Connector port="8080" protocol="HTTP/1.1" ... />
    修改為未被佔用的埠,例如 8081。
    <Connector port="8081" protocol="HTTP/1.1" ... />
  2. Shutdown 連接埠(預設 8005)
    約第 22 行,<Server port="8005" shutdown="SHUTDOWN">
    修改為 8006(或 8095 等)。
    <Server port="8006" shutdown="SHUTDOWN">
  3. AJP 連接埠(預設 8009)
    約第 91 行,<Connector port="8009" protocol="AJP/1.3" ... />
    修改為 8010(或 8099 等)。
    <Connector port="8010" protocol="AJP/1.3" ... />

其他建議調整(可選)

  • conf/web.xml:若部署同一 Webapp 不同版本,注意 session-config、context-param 隔離。
  • bin/setenv.sh:設定各實例專屬 CATALINA_OPTS(記憶體、GC、JMX 埠),避免 JMX 埠衝突。
    例:CATALINA_OPTS="-Xms512m -Xmx1024m -Dcom.sun.management.jmxremote.port=9001"
  • 建立獨立 logs/、temp/、work/ 目錄,或透過 CATALINA_BASE 環境變數指向實例目錄。

啟動與驗證

  1. 分別執行:
    /opt/tomcat-instance1/bin/startup.sh
    /opt/tomcat-instance2/bin/startup.sh
  2. 檢查埠口監聽:
    netstat -ntlp | grep -E '8080|8081|8005|8006|8009|8010'
  3. 瀏覽器訪問:
    https://:8080/(實例 1)
    https://:8081/(實例 2)
  4. 關閉測試:
    /opt/tomcat-instance1/bin/shutdown.sh(連接 8005)
    /opt/tomcat-instance2/bin/shutdown.sh(連接 8006)

進階:使用 systemd 管理多實例

建立 /etc/systemd/system/tomcat@.service 模板,透過 systemctl start tomcat@instance1 統一管理,實現開機自啟、自動重啟、日誌集中。

核心原則:每個實例獨立 CATALINA_BASE、獨立三大埠、獨立 JMX 埠、獨立記憶體設定。遵循此原則,單台伺服器可穩定運行數十個 Tomcat 實例。

Copyright © Windows教程網 All Rights Reserved