温馨提示×

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.5AJP 默认关闭,如需启用需在 server.xml 中显式配置并设定 secretRequired/secret
  • 数据与权限
    • 迁移 webappsconf、以及必要的 lib 自定义库;确保 CATALINA_HOME/CATALINA_BASE、日志与临时目录权限正确(常见运行用户为 tomcat:tomcat)。
  • 验证与回退
    • 启动后用日志与访问测试双重验证;保留旧版本目录与配置至少 1–2 个变更窗口 以便快速回退。

0