一、升級前準備工作
/usr/local/apache-tomcat
)、配置文件(server.xml
、web.xml
、context.xml
等)、Web應用(webapps
目錄)及數據庫(如涉及)。建議備份到獨立目錄(如/usr/local/tomcat-backup
),防止數據丟失。apache-tomcat-9.0.93.tar.gz
),推薦使用wget命令(wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.93/bin/apache-tomcat-9.0.93.tar.gz
)。二、停止Tomcat服務 使用systemctl或service命令停止運行中的Tomcat,避免升級過程中文件沖突:
# 使用systemctl(推薦)
sudo systemctl stop tomcat
# 或使用service(舊版系統)
sudo service tomcat stop
停止后,可通過ps -ef | grep tomcat
確認進程已終止。
三、卸載舊版本(可選但推薦) 若舊版本是通過包管理器安裝(如Ubuntu的APT、CentOS的YUM),可使用以下命令卸載:
# Debian/Ubuntu
sudo apt remove --purge tomcat
# RHEL/CentOS
sudo yum remove tomcat
卸載后,手動刪除殘留的配置文件和數據目錄(如/var/lib/tomcat
)。
四、安裝新版本
/usr/local/
):tar -zxvf apache-tomcat-9.0.93.tar.gz -C /usr/local/
apache-tomcat-9.0.93
)。五、遷移配置與數據
conf
目錄(保留server.xml
、web.xml
等自定義配置):cp -Rf /usr/local/apache-tomcat/conf/* /usr/local/apache-tomcat-9.0.93/conf/
webapps
目錄下的應用復制到新版本的webapps
目錄(可選擇僅遷移必要應用,如ROOT.war
或業務應用):cp -Rf /usr/local/apache-tomcat/webapps/* /usr/local/apache-tomcat-9.0.93/webapps/
docs
、examples
),提升安全性:rm -rf /usr/local/apache-tomcat-9.0.93/webapps/docs /usr/local/apache-tomcat-9.0.93/webapps/examples
bin
目錄下的腳本添加可執行權限:chmod +x /usr/local/apache-tomcat-9.0.93/bin/*.sh
六、啟動新版本并驗證
bin
目錄,執行啟動腳本:cd /usr/local/apache-tomcat-9.0.93/bin
./startup.sh
tail
命令實時查看catalina.out
日志,確認無錯誤(如端口沖突、類加載失?。?pre class="hljs">tail -f /usr/local/apache-tomcat-9.0.93/logs/catalina.out
http://服務器IP:8080
,查看Tomcat默認頁面是否加載;ps -ef | grep tomcat
確認進程運行中,netstat -tulnp | grep 8080
確認端口監聽正常。七、配置為系統服務(可選但推薦) 若舊版本已配置為systemd服務,需更新服務文件指向新版本路徑:
/etc/systemd/system/tomcat.service
):sudo nano /etc/systemd/system/tomcat.service
Environment
和ExecStart
/ExecStop
路徑為新版本目錄:[Unit]
Description=Apache Tomcat Web Application Container
After=network.target
[Service]
Type=forking
Environment=JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
Environment=CATALINA_PID=/usr/local/apache-tomcat-9.0.93/temp/tomcat.pid
Environment=CATALINA_HOME=/usr/local/apache-tomcat-9.0.93
Environment=CATALINA_BASE=/usr/local/apache-tomcat-9.0.93
ExecStart=/usr/local/apache-tomcat-9.0.93/bin/startup.sh
ExecStop=/usr/local/apache-tomcat-9.0.93/bin/shutdown.sh
User=tomcat
Group=tomcat
RestartSec=10
Restart=always
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl restart tomcat
sudo systemctl enable tomcat # 設置開機自啟
八、回滾方案(可選) 若升級后出現嚴重問題(如無法啟動、應用崩潰),可快速回滾到舊版本:
/usr/local/apache-tomcat-9.0.93
);mv /usr/local/apache-tomcat-old /usr/local/apache-tomcat
);