CentOS系統Tomcat版本升級步驟
通過Tomcat自帶的version.sh腳本確認當前運行的Tomcat版本:
$CATALINA_HOME/bin/version.sh
輸出結果會顯示當前Tomcat的主版本號(如8.5.x、9.0.x)及JDK要求。
訪問Tomcat官方網站(https://tomcat.apache.org)下載目標版本的二進制發行包(如Tomcat 9.0.56、10.0.14),優先選擇穩定版(GA版本)。
java -version驗證當前Java版本是否符合要求。/opt/tomcat-backup):sudo cp -r /opt/tomcat /opt/tomcat-backup
conf目錄下的關鍵配置文件(server.xml、web.xml、context.xml、tomcat-users.xml),避免配置丟失。webapps目錄下的所有應用(.war文件或解壓后的文件夾)備份到/opt/webapps-backup。logs目錄下的日志(如catalina.out、localhost_access_log.*.txt),便于后續排查問題。通過systemctl命令停止正在運行的Tomcat服務,確保升級過程中無進程殘留:
sudo systemctl stop tomcat
# 驗證Tomcat是否已停止
ps -ef | grep tomcat | grep -v grep
若仍有進程存在,可使用kill -9 <PID>強制終止。
使用wget命令下載目標版本的Tomcat壓縮包(以Tomcat 9.0.56為例):
wget https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.56/bin/apache-tomcat-9.0.56.tar.gz
將下載的壓縮包解壓到Tomcat的安裝目錄(如/opt):
sudo tar -xvzf apache-tomcat-9.0.56.tar.gz -C /opt/
為避免混淆,將解壓后的目錄重命名為目標版本號:
sudo mv /opt/apache-tomcat-9.0.56 /opt/tomcat
將舊版本conf目錄下的配置文件復制到新版本的conf目錄,覆蓋同名文件:
sudo cp -r /opt/tomcat-backup/conf/* /opt/tomcat/conf/
注意:若新版本的conf目錄中有新增的配置項(如logging.properties),需根據官方文檔補充修改。
將舊版本webapps目錄下的應用復制到新版本的webapps目錄:
sudo cp -r /opt/tomcat-backup/webapps/* /opt/tomcat/webapps/
若應用依賴外部庫(如lib目錄下的JAR文件),需同步遷移至新版本的lib目錄。
若舊版本的日志路徑(如/var/log/tomcat)未包含在新版本中,可創建符號鏈接指向新版本的logs目錄:
sudo ln -s /opt/tomcat/logs /var/log/tomcat
若系統中配置了Tomcat環境變量(如CATALINA_HOME),需更新為新版本的路徑:
/etc/profile.d/tomcat.sh):sudo nano /etc/profile.d/tomcat.sh
/opt/tomcat為例):export CATALINA_HOME=/opt/tomcat
export PATH=$PATH:$CATALINA_HOME/bin
source /etc/profile.d/tomcat.sh
使用systemctl命令啟動Tomcat:
sudo systemctl start tomcat
# 設置開機自啟
sudo systemctl enable tomcat
通過以下命令確認Tomcat是否啟動成功:
sudo systemctl status tomcat
若輸出中顯示“active (running)”,則表示啟動成功。
http://<服務器IP>:8080,若出現Tomcat歡迎頁面,則說明服務正常。logs/catalina.out日志文件,確認無ERROR或SEVERE級別的錯誤信息:tail -f /opt/tomcat/logs/catalina.out
確認新版本運行穩定后,刪除舊版本的備份目錄和下載的壓縮包,釋放磁盤空間:
sudo rm -rf /opt/tomcat-backup
sudo rm -rf /opt/apache-tomcat-9.0.56.tar.gz
sudo systemctl stop tomcat
sudo mv /opt/tomcat /opt/tomcat-new
sudo mv /opt/tomcat-backup /opt/tomcat
sudo systemctl start tomcat