温馨提示×

Ubuntu上如何更新Tomcat版本

小樊
39
2026-01-01 16:58:12
栏目: 智能运维

Ubuntu 更新 Tomcat 版本实操指南

一 升级前准备

  • 确认当前版本与运行方式:执行 /path/to/tomcat/bin/version.sh 查看版本;若通过服务运行,使用 systemctl status tomcatservice tomcat status 确认服务名与运行状态。
  • 检查 Java 兼容性:Tomcat 10.x 需要 JDK 11+,Tomcat 8.5/9.0 常用 JDK 8/11;用 java -version 确认。
  • 规划版本策略:同系列小版本升级(如 9.0.x → 9.0.y)通常可直接沿用配置;跨大版本(如 8 → 9、9 → 10)需评估 Servlet/JSP/EL API 变更与应用的兼容性。
  • 备份关键数据:完整备份 conf/webapps/(含 WAR 与解压目录)、logs/、自定义脚本与证书等;如使用数据库,确保有可用的备份与回滚方案。

二 标准升级步骤(适用于 tar.gz 手动安装)

  1. 下载新版本:前往 https://tomcat.apache.org/ 选择所需系列与版本,Linux 下载 .tar.gz,例如:
    wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.93/bin/apache-tomcat-9.0.93.tar.gz
  2. 停止服务:
    • 直接运行:/path/to/tomcat/bin/shutdown.sh
    • 作为服务:sudo systemctl stop tomcat
  3. 备份当前实例:
    sudo cp -a /opt/tomcat /opt/tomcat-backup-$(date +%F-%H%M%S)
  4. 解压新版本并替换目录:
    tar -xzf apache-tomcat-9.0.93.tar.gz -C /opt
    sudo mv /opt/apache-tomcat-9.0.93 /opt/tomcat-new
  5. 迁移配置与业务:
    • 仅迁移必要目录:
      sudo cp -a /opt/tomcat-backup-/conf /opt/tomcat-new/
      sudo cp -a /opt/tomcat-backup-
      /webapps /opt/tomcat-new/
      sudo cp -a /opt/tomcat-backup-*/logs /opt/tomcat-new/(可选)
    • 删除示例与高风险应用(可选,提升安全性):
      rm -rf /opt/tomcat-new/webapps/{docs,examples,manager,host-manager}
  6. 权限与启动:
    sudo chmod +x /opt/tomcat-new/bin/*.sh
    sudo ln -sfn /opt/tomcat-new /opt/tomcat # 如采用符号链接方式
    /opt/tomcat-new/bin/startup.sh
  7. 验证:
    tail -f /opt/tomcat-new/logs/catalina.out
    访问应用与 /manager/status(如启用),确认版本与功能正常。

三 使用符号链接的平滑升级(推荐)

  • 目录结构建议:/opt/tomcat/apache-tomcat-/,并维护 /opt/tomcat/latest 指向当前在用版本。
  • 升级操作:
    1. 停止服务;2) 解压新版本到 /opt/tomcat;3) 仅迁移 conf/webapps/;4) 调整符号链接:
      sudo ln -sfn /opt/tomcat/apache-tomcat- /opt/tomcat/latest
    2. 启动服务;6) 验证。
  • 回滚:
    sudo ln -sfn /opt/tomcat/apache-tomcat- /opt/tomcat/latest && sudo systemctl restart tomcat
  • 配合 systemd 时,将 Environment=CATALINA_BASE=/opt/tomcat/latestCATALINA_HOME=/opt/tomcat/latest,即可通过切换符号链接完成无路径变更升级。

四 作为系统服务运行时的注意事项

  • 如果使用 systemd,确保服务文件中的 JAVA_HOME、CATALINA_HOME、CATALINA_BASE、CATALINA_PID 等变量指向正确路径;升级后执行:
    sudo systemctl daemon-reload
    sudo systemctl restart tomcat
    sudo systemctl status tomcat
  • 若采用符号链接方案,推荐将 CATALINA_BASE/CATALINA_HOME 都指向 /opt/tomcat/latest,避免频繁改动 unit 文件。

五 验证与回滚

  • 版本验证:
    /opt/tomcat/latest/bin/version.sh
    curl -u : http://localhost:8080/manager/status(如启用 Manager)
  • 回滚方案:
    1. 停止新版本;2) 恢复符号链接或重命名目录至旧版本;3) 启动旧版本并复核应用;4) 分析新版本日志定位问题后再升级。
  • 安全建议:升级后及时删除或限制访问 docs、examples、manager、host-manager 等默认应用,减少攻击面。

0