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