CentOS中Tomcat更新升级步骤
升级前必须备份旧版本Tomcat的安装目录、配置文件及web应用数据,避免升级失败导致数据丢失。
/usr/share/tomcat为例):sudo cp -r /usr/share/tomcat /usr/share/tomcat-backupserver.xml、context.xml):sudo cp -r /etc/tomcat /etc/tomcat-backupwebapps目录):sudo cp -r /usr/share/tomcat/webapps /webapps-backupTomcat版本需与Java版本匹配(如Tomcat 9需要Java 8+,Tomcat 10需要Java 11+)。
java -versionsudo yum install java-11-openjdk-develjava -version访问Tomcat官方网站(https://tomcat.apache.org/download-xx.cgi,xx为版本号),下载所需版本的二进制发行版(如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,避免文件冲突:
sudo systemctl stop tomcat
验证服务状态:sudo systemctl status tomcat(确认状态为inactive (dead))
将下载的压缩包解压到目标目录(如/usr/share/),并重命名为标准名称:
sudo tar -xvzf apache-tomcat-9.0.56.tar.gz -C /usr/share/
sudo mv /usr/share/apache-tomcat-9.0.56 /usr/share/tomcat
server.xml、context.xml等配置文件,保留自定义配置(如端口、虚拟主机、数据库连接),覆盖默认配置。/etc/profile.d/tomcat.sh(若不存在则新建),添加以下内容:export CATALINA_HOME=/usr/share/tomcat export PATH=$PATH:$CATALINA_HOME/bin 使变量生效:source /etc/profile.d/tomcat.sh编辑Tomcat的systemd服务文件(通常位于/etc/systemd/system/tomcat.service),确保路径指向新版本:
[Service] Environment="CATALINA_HOME=/usr/share/tomcat" Environment="CATALINA_BASE=/usr/share/tomcat" ExecStart=/usr/share/tomcat/bin/startup.sh ExecStop=/usr/share/tomcat/bin/shutdown.sh 重新加载systemd配置:sudo systemctl daemon-reload
sudo systemctl start tomcat
设置开机自启:sudo systemctl enable tomcat
sudo systemctl status tomcat(确认状态为active (running))curl http://localhost:8080(页面底部会显示版本信息)tail -f /usr/share/tomcat/logs/catalina.out确认新版本运行正常后,删除旧版本备份文件以释放空间:
sudo rm -rf /usr/share/tomcat-backup
sudo rm -rf /etc/tomcat-backup
sudo rm apache-tomcat-9.0.56.tar.gz
server.xml中的端口是否被占用(默认8080),可通过sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent开放端口。sudo setenforce 0)以避免权限问题。