在 Linux 伺服器部署 Tomcat 是 Java Web 上線的標準作業。本文以 CentOS/RHEL 系列為例,涵蓋 JDK 安裝、Tomcat 解壓部署、環境變數持久化、核心配置檔(server.xml、web.xml)說明與臨時目錄清理,提供可直接套用的生產級部署流程。
# 1. 下載(以 JDK 17 LTS 為例,請替換為官網最新連結)
wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz
# 2. 解壓並移至標準目錄
tar -xzf jdk-17_linux-x64_bin.tar.gz
mv jdk-17.* /opt/jdk17
# 3. 設定環境變數(寫入 /etc/profile.d/java.sh,重新登入生效)
cat > /etc/profile.d/java.sh <<'EOF'
export JAVA_HOME=/opt/jdk17
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
EOF
chmod +x /etc/profile.d/java.sh
source /etc/profile.d/java.sh
# 4. 驗證
java -version
# 1. 下載 Tomcat 9/10(依 Servlet 版本需求選擇)
wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.85/bin/apache-tomcat-9.0.85.tar.gz
# 2. 解壓部署
tar -xzf apache-tomcat-9.0.85.tar.gz
mv apache-tomcat-9.0.85 /opt/tomcat9
# 3. 建立專用使用者(安全最佳實踐)
useradd -r -s /bin/false tomcat
chown -R tomcat:tomcat /opt/tomcat9
# 4. 環境變數(/etc/profile.d/tomcat.sh)
cat > /etc/profile.d/tomcat.sh <<'EOF'
export CATALINA_HOME=/opt/tomcat9
export CATALINA_BASE=/opt/tomcat9
export PATH=$CATALINA_HOME/bin:$PATH
EOF
chmod +x /etc/profile.d/tomcat.sh
source /etc/profile.d/tomcat.sh
配置目錄:/opt/tomcat9/conf/
# 前景啟動(測試用)
/opt/tomcat9/bin/startup.sh
# 檢查監聽埠
netstat -ntlp | grep 8080
# 瀏覽器訪問 https://server-ip:8080 應出現 Tomcat 貓咪歡迎頁
Tomcat 編譯 JSP、暫存 Session 序列化資料皆寫入:
/opt/tomcat9/work/Catalina/localhost/
部署新版 WAR 或修改 JSP 後,若頁面未更新、類別衝突,請執行:
rm -rf /opt/tomcat9/work/Catalina/localhost/*
/opt/tomcat9/bin/shutdown.sh && /opt/tomcat9/bin/startup.sh
setenv.sh($CATALINA_BASE/bin/)調整 JVM 參數:export CATALINA_OPTS="-Xms2g -Xmx4g -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m -Dfile.encoding=UTF-8 -Duser.timezone=Asia/Taipei"systemd 服務(/etc/systemd/system/tomcat.service)實現開機自啟與自動重啟。com.sun.management.jmxremote)搭配 Prometheus/JMX Exporter 監控。logs/ 舊日誌,配置 logrotate 自動輪轉。