server.xml <Connector port="8888"/>。startup.bat,訪問 localhost:8888 404,localhost:8080 仍可訪問。server.xml 已保存、無語法錯誤。catalina.out / 控制台,發現啟動路徑指向舊安裝目錄。CATALINA_HOME / CATALINA_BASE 指向 **舊版 Tomcat (A)**。startup.bat 實際啟動的是 A,而修改配置的是 **新版 Tomcat (B)**。CATALINA_HOME、CATALINA_BASE (若存在)。bin/startup.bat,腳本會自動推導 CATALINA_HOME 為當前目錄。setenv.bat (Windows) / setenv.sh (Linux) 中顯式設置:set CATALINA_HOME=D:\apache-tomcat-9.0.x
set CATALINA_BASE=D:\apache-tomcat-9.0.x
Server startup in xxx ms,訪問新端口成功。| 做法 | 優點 |
|---|---|
| 不設置全局 CATALINA_HOME | 每個 Tomcat 實例獨立運行,互不干擾 |
| 使用 setenv.bat/sh 定制實例配置 | JVM 參數、端口、編碼、類加載器隔離 |
| 多實例部署:複製 conf/ logs/ temp/ webapps/ work/ 目錄,共享 bin/ lib/ | 節省磁盤、統一升級核心庫 |
| systemd / Windows Service 註冊時指定完整路徑 | 生產環境穩定、開機自啟 |
webapps/ROOT/WEB-INF/web.xml 可改端口server.xml <Connector> 配置,與 Web 應用無關。netstat -ano | findstr :8888 檢查,殺掉佔用進程或換端口。