一、升级前准备工作
/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日志,确认无错误(如端口冲突、类加载失败):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);