温馨提示×

如何在Ubuntu上升级Tomcat版本

小樊
33
2025-11-27 08:45:57
栏目: 智能运维

Ubuntu上升级 Tomcat 的实操指南

一 升级前准备

  • 确认当前版本与运行状态:进入旧版 Tomcat 的 bin 目录执行 ./version.sh;如以服务运行,使用 systemctl status tomcat 查看。提前准备回滚方案(备份、快照或保留旧目录)。
  • 检查 Java 版本兼容性:Tomcat 9.xJava 8+,Tomcat 10.xJava 11+。示例:java -version
  • 备份关键数据与配置:建议完整备份 conf/webapps/、自定义的 server.xml 等;如使用外部目录存放上传文件,一并备份。
  • 选择升级方式:
    • 使用 符号链接(/opt/tomcat/latest) 的方式,切换版本更平滑;
    • 或采用“重命名旧目录—解压新版本—迁移配置与应用”的方式。

二 方法一 符号链接法升级(推荐,切换更快)

  • 停止服务:sudo systemctl stop tomcat
  • 备份当前版本目录:sudo cp -a /opt/tomcat/apache-tomcat-<旧版本> /opt/tomcat/apache-tomcat-<旧版本>-bak
  • 下载并解压新版本(示例为 9.0.x):
    • wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.93/bin/apache-tomcat-9.0.93.tar.gz -P /tmp
    • sudo tar -xf /tmp/apache-tomcat-9.0.93.tar.gz -C /opt/tomcat/
  • 调整符号链接指向新版本:
    • sudo ln -sfn /opt/tomcat/apache-tomcat-9.0.93 /opt/tomcat/latest
  • 同步必要的配置与应用(避免覆盖新版的默认配置):
    • sudo cp -a /opt/tomcat/apache-tomcat-<旧版本>-bak/conf/* /opt/tomcat/latest/conf/(按需逐项覆盖)
    • sudo cp -a /opt/tomcat/apache-tomcat-<旧版本>-bak/webapps/* /opt/tomcat/latest/webapps/(先停服再拷,避免会话不一致)
  • 修正权限(如使用 tomcat 用户运行):sudo chown -R tomcat: /opt/tomcatsudo chmod +x /opt/tomcat/latest/bin/*.sh
  • 启动并验证:sudo systemctl start tomcat,访问 http://服务器IP:8080,查看 catalina.out 日志无异常。

三 方法二 重命名目录法升级(直观可控)

  • 停止服务:sudo systemctl stop tomcat 或进入旧版 bin 执行 ./shutdown.sh
  • 备份与重命名:sudo mv /opt/tomcat /opt/tomcat-old
  • 解压新版本并复用旧目录名:sudo tar -xf apache-tomcat-9.0.93.tar.gz -C /opt/tomcat-<新版本> && sudo mv /opt/tomcat-<新版本> /opt/tomcat
  • 迁移配置与应用:
    • sudo cp -a /opt/tomcat-old/conf/* /opt/tomcat/conf/
    • sudo cp -a /opt/tomcat-old/webapps/* /opt/tomcat/webapps/(如有外部 work/temp/ 自定义,也一并迁移)
  • 权限与服务:
    • sudo chown -R tomcat: /opt/tomcat
    • 如之前使用 systemd,确保 /etc/systemd/system/tomcat.service 中的 CATALINA_HOME/CATALINA_BASE 指向 /opt/tomcat,然后 sudo systemctl daemon-reload && sudo systemctl start tomcat
  • 验证:访问应用与 /manager 页面(如启用),检查 logs/catalina.out

四 升级后的验证与回滚

  • 版本与连通性:
    • 执行 /opt/tomcat/latest/bin/version.sh 确认新版本;
    • 访问 http://IP:8080 与业务功能,查看 catalina.outlocalhost.<日期>.log 是否有异常。
  • 应用兼容性:
    • 大版本升级(如 8 → 99 → 10)包名从 javax. 迁移到 jakarta.,应用需重新编译或做依赖适配;
    • 检查 JDBC 驱动JNDISSL/TLS 配置是否受新版本默认行为影响。
  • 安全加固(可选):删除或限制管理应用访问:移除或注释 webapps/docs、examples、manager、host-manager;如需远程访问管理界面,仅在 manager/META-INF/context.xmlhost-manager/META-INF/context.xml 中按需配置 RemoteAddrValve 允许的 IP。
  • 快速回滚:
    • 符号链接法:sudo ln -sfn /opt/tomcat/apache-tomcat-<旧版本> /opt/tomcat/latest && sudo systemctl restart tomcat
    • 目录法:`sudo systemctl stop tomcat && sudo rm -rf /opt/tomcat && sudo mv /opt/tomcat-old /opt/tomcat && sudo systemctl start tomcat。

0