一、升级前的准备工作
sudo systemctl stop tomcat),备份旧版本目录(如/usr/share/tomcat或/opt/tomcat)及关键配置文件(conf/server.xml、conf/context.xml、webapps中的应用程序、logs日志文件)。可使用sudo cp -r /usr/share/tomcat /usr/share/tomcat-backup命令完成备份。java -version查看Java版本,若不符合需升级JDK(如sudo yum install java-11-openjdk-devel)。https://tomcat.apache.org/download-xx.cgi,xx为目标版本,如9.0、10.1),下载对应版本的tar.gz压缩包(如apache-tomcat-10.1.11.tar.gz),推荐使用wget命令(wget https://archive.apache.org/dist/tomcat/tomcat-10/v10.1.11/bin/apache-tomcat-10.1.11.tar.gz)。二、具体升级步骤
systemctl或脚本停止运行中的Tomcat,避免升级过程中出现文件冲突:sudo systemctl stop tomcat
# 或若使用脚本启动
# sudo /opt/tomcat-old/bin/shutdown.sh
/usr/share/或/opt/),并重命名为统一名称(如tomcat):sudo tar xvf apache-tomcat-10.1.11.tar.gz -C /usr/share/
sudo mv /usr/share/apache-tomcat-10.1.11 /usr/share/tomcat
conf/)、Web应用(webapps/)、库文件(lib/)复制到新版本对应目录,覆盖新版本的默认配置:sudo cp -R /usr/share/tomcat-backup/conf/* /usr/share/tomcat/conf/
sudo cp -R /usr/share/tomcat-backup/webapps/* /usr/share/tomcat/webapps/
sudo cp -R /usr/share/tomcat-backup/lib/* /usr/share/tomcat/lib/
/etc/profile.d/tomcat.sh文件,添加以下内容(替换为新版本路径):export CATALINA_HOME=/usr/share/tomcat
export PATH=$PATH:$CATALINA_HOME/bin
使配置生效:source /etc/profile.d/tomcat.sh。http://服务器IP:8080确认新版本运行:sudo systemctl start tomcat
sudo systemctl status tomcat  # 查看状态(应显示active(running))
或进入新版本bin目录启动:cd /usr/share/tomcat/bin
./startup.sh
三、升级后检查与清理
logs/catalina.out、logs/localhost.log),确认无Unsupported major.minor version(JDK版本不匹配)、ClassNotFoundException(配置文件迁移遗漏)等错误。sudo rm -rf /usr/share/tomcat-backup
注意事项
jakarta.servlet替代javax.servlet,若旧应用依赖javax包,需使用Apache提供的迁移工具(tomcat-jakartaee-migration)转换依赖。server.xml中的端口(如8080改为80),需确保新端口未被其他服务占用,并开放防火墙(sudo firewall-cmd --add-port=80/tcp --permanent;sudo firewall-cmd --reload)。