CentOS Tomcat如何升级版本
小樊
34
2025-12-07 18:07:20
CentOS 上升级 Tomcat 的完整步骤
一 升级方式选择
- 方式一 二进制包原地升级(推荐)
- 适合大多数场景,步骤清晰、回退方便。核心是:停服→备份→解压新版本→迁移配置与数据→调整 systemd 或环境变量→启动验证。
- 方式二 RPM 包升级(yum/dnf)
- 适合通过系统仓库管理的环境,命令简单、可纳入系统更新流程。注意不同发行系列的仓库与包名差异(如 CentOS 7 可用 EPEL/Remi 仓库的 tomcat8/tomcat9 包)。
- 方式三 小版本快速替换(仅限同大版本)
- 同大版本的小版本(如 8.5.x → 8.5.y)可直接替换 lib/(必要时含 bin/)后启动,风险低于跨大版本,但仍需先备份与验证。
二 二进制包原地升级步骤
- 准备与备份
- 检查运行状态:sudo systemctl status tomcat
- 备份关键目录与配置:
- sudo cp -r /usr/share/tomcat /usr/share/tomcat-backup
- sudo cp -r /etc/tomcat /etc/tomcat-backup
- 下载与部署新版本
- 下载所需版本(示例为 9.0.56):
- wget https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.56/bin/apache-tomcat-9.0.56.tar.gz
- 停止旧实例:sudo systemctl stop tomcat
- 解压到目标目录:sudo tar -xvzf apache-tomcat-9.0.56.tar.gz -C /usr/share/
- 迁移配置与数据
- 保留历史配置与数据(按实际目录调整):
- cp -r /etc/tomcat-backup/* /usr/share/apache-tomcat-9.0.56/conf/
- cp -r /usr/share/tomcat-backup/webapps /usr/share/apache-tomcat-9.0.56/
- 如有自定义库,合并:cp -n /usr/share/tomcat-backup/lib/* /usr/share/apache-tomcat-9.0.56/lib/(-n 避免覆盖新版本自带库)
- 调整 systemd 服务单元
- 编辑:sudo systemctl edit --full tomcat 或创建 /etc/systemd/system/tomcat.service,确保指向新路径:
- Environment=CATALINA_HOME=/usr/share/apache-tomcat-9.0.56
- Environment=CATALINA_BASE=/usr/share/apache-tomcat-9.0.56
- ExecStart=/usr/share/apache-tomcat-9.0.56/bin/startup.sh
- ExecStop=/usr/share/apache-tomcat-9.0.56/bin/shutdown.sh
- User=tomcat
- Group=tomcat
- 启动与验证
- 重新加载并启动:sudo systemctl daemon-reload && sudo systemctl start tomcat
- 查看状态与日志:
- sudo systemctl status tomcat
- tail -f /usr/share/apache-tomcat-9.0.56/logs/catalina.out
- 访问测试:curl http://localhost:8080
- 回退与清理
- 异常可快速回退:停止服务→恢复备份目录→恢复 systemd 指向→启动旧版本。
- 稳定运行后再清理备份与安装包。
三 RPM 包升级步骤(CentOS 7 示例)
- 启用仓库(示例为 Remi):
- sudo yum install epel-release
- sudo yum install https://rpms.remirepo.net/enterprise/remi-release-7.rpm
- 安装或更新指定版本
- 查看可用版本:yum list available tomcat8*
- 安装/更新:sudo yum install tomcat8(或 tomcat9/tomcat10)
- 重启与验证
- sudo systemctl restart tomcat8
- 查看版本:/usr/share/tomcat8/bin/versionLogger.sh
- 说明
- 仓库提供的包名与目录结构可能与二进制包不同,请以仓库文档为准;迁移配置时注意新旧路径差异。
四 关键注意事项与常见问题
- 小版本与大版本
- 同大版本小版本升级(如 8.5.x → 8.5.y)可优先采用“替换 lib/(必要时含 bin/)”的快更方式;跨大版本(如 7 → 8/9)建议全新部署并逐项迁移配置与应用,充分回归测试。
- 配置与兼容性
- 重点核对:server.xml(端口、连接器、SSL、AJP)、context.xml(数据源)、web.xml(过滤器/监听器等)、以及应用的 JDK 要求 与依赖库版本。
- 安全项:Tomcat 8.5 起 AJP 默认关闭,如需启用需在 server.xml 中显式配置并设定 secretRequired/secret。
- 数据与权限
- 迁移 webapps、conf、以及必要的 lib 自定义库;确保 CATALINA_HOME/CATALINA_BASE、日志与临时目录权限正确(常见运行用户为 tomcat:tomcat)。
- 验证与回退
- 启动后用日志与访问测试双重验证;保留旧版本目录与配置至少 1–2 个变更窗口 以便快速回退。