首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Linux 下 Tomcat 部署實戰:JDK 安裝、環境變數與核心配置全攻略

     編輯:Java 相關知識

在 Linux 伺服器部署 Tomcat 是 Java Web 上線的標準作業。本文以 CentOS/RHEL 系列為例,涵蓋 JDK 安裝、Tomcat 解壓部署、環境變數持久化、核心配置檔(server.xml、web.xml)說明與臨時目錄清理,提供可直接套用的生產級部署流程。

一、JDK 部署(採用 tar.gz 解壓版,避免 RPM 依賴地獄)

# 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

二、Tomcat 部署

# 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/

1. server.xml(核心服務配置)

  • 連接埠修改: `` → 生產環境建議改為 80/443(需 root 或 authbind)或反向代理後端端口(如 8080/8443)。
  • 支援中文 URL: 在 `` 加入 `URIEncoding="UTF-8"`。
  • 啟用 GZIP 壓縮: 在 `` 加入 `compression="on" compressionMinSize="2048" compressableMimeType="text/html,text/xml,text/plain,text/css,application/json,application/javascript"。`
  • 虛擬主機: 在 `` 內新增 ``。
  • SSL 設定: 配置 ``。

2. web.xml(全域 Web 應用預設配置)

  • 預設首頁順序:`` 內調整 `index.jsp`、`index.html` 優先級。
  • Session 逾時:`30`(單位:分鐘)。
  • 錯誤頁面、過濾器、監聽器、MIME 對應等全域設定。

四、啟動與驗證

# 前景啟動(測試用)
/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

生產環境進階建議

  1. 建立 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"
  2. 配置 systemd 服務(/etc/systemd/system/tomcat.service)實現開機自啟與自動重啟。
  3. 啟用遠端 JMX 監控(com.sun.management.jmxremote)搭配 Prometheus/JMX Exporter 監控。
  4. 定期清理 logs/ 舊日誌,配置 logrotate 自動輪轉。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved