Tomcat 是最流輕量級 Servlet 容器,本文整理日常運維必備命令與典型故障排查。
# 進入 JDK bin 目錄 java -version # 輸出包含 "64-Bit Server VM" → 64 位 # 無此標識 → 32 位 (Client VM)

| 操作 | Windows | Linux/macOS |
|---|---|---|
| 啟動 | startup.bat | ./startup.sh |
| 關閉 | shutdown.bat | ./shutdown.sh |
| 版本信息 | version.bat | ./version.sh |
| 後台運行 | 無原生支援 | nohup ./startup.sh > catalina.out 2>&1 & |

https://localhost:8080/<context-path>/xxx.jsp,看到頁面即成功。現象:啟動報錯 %1 不是有效的 Win32 應用程序 或 Could not create the Java virtual machine。

原因:64 位 OS 安裝了 32 位 JDK + 32 位 Tomcat,或反之。
解決:統一 JDK、Tomcat、OS 位數 (推薦全 64 位)。
apache-tomcat-x.x.xx/ ├── bin/ # 啟動/關閉/工具腳本 ├── conf/ # server.xml, web.xml, tomcat-users.xml, logging.properties ├── lib/ # 容器公共 JAR (servlet-api, jsp-api, jdbc drivers...) ├── logs/ # catalina.out, localhost.yyyy-mm-dd.log, manager.xxx.log ├── webapps/ # 自動部署目錄 (ROOT.war, docs, examples, manager, host-manager) ├── work/ # JSP 編譯產生的 Servlet 源碼/.class └── temp/ # 臨時文件
conf/server.xml → <Connector port="8080" .../>bin/setenv.sh/bat → CATALINA_OPTS="-Xms512m -Xmx2g -XX:MetaspaceSize=256m"server.xml → <Valve className="org.apache.catalina.valves.AccessLogValve" .../>