Tomcat 預設使用 8080 作為 HTTP 連接器端口。在同一台伺服器部署多個 Tomcat 實例,或與其他服務(如 Nginx、Jenkins)共存時,必須修改端口以避免衝突。
server.xml位於 $CATALINA_HOME/conf/server.xml,包含三個關鍵端口定義,全部必須修改才能實現多實例共存:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
修改 port 為未被佔用的端口,如 8081、8082 等。
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
用於 Apache httpd / Nginx 反向代理通訊,同樣需修改,如 8010、8011。
<Server port="8005" shutdown="SHUTDOWN">
Tomcat 關閉腳本(shutdown.sh)通過此端口發送關閉指令,必須修改,如 8006、8007。
<Server port="8006" shutdown="SHUTDOWN">
...
<Connector port="8081" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8444" />
<Connector port="8010" protocol="AJP/1.3" redirectPort="8444" />
...
</Server>
注意:redirectPort(HTTPS 重導向端口)建議同步修改,避免多實例共用同一 SSL 端口產生衝突。
catalina.out 或 localhost.yyyy-mm-dd.log,確認無 BindException: Address already in use 錯誤。netstat -an | grep LISTEN 或 ss -lntp 驗證端口監聽狀態。CATALINA_BASE 目錄結構(conf、logs、webapps、work、temp),共用 CATALINA_HOME 二進制文件,便於維護升級。