温馨提示×

Tomcat在Debian如何升级

小樊
37
2026-08-31 07:21:39
栏目: 智能运维

在 Debian 上升级 Apache Tomcat,常见有 三种方式,推荐 方式一(官方二进制包),最稳妥、易回滚。下面按步骤说明。


一、确认当前 Tomcat 版本

systemctl status tomcat
# 或
ls /opt/tomcat
# 或
/opt/tomcat/bin/version.sh

如果是通过 apt 安装的:

apt list --installed | grep tomcat

二、升级方式一(✅ 推荐):使用官方 Tomcat 二进制包

适用于 手动安装 / 生产环境

1️⃣ 停止当前 Tomcat

sudo systemctl stop tomcat

2️⃣ 备份当前配置和应用

sudo cp -a /opt/tomcat /opt/tomcat_bak_$(date +%F)
sudo tar czf /opt/tomcat_apps_$(date +%F).tar.gz /opt/tomcat/webapps

重点备份:

  • conf/
  • webapps/
  • lib/(如有自定义 jar)
  • bin/setenv.sh(如有)

3️⃣ 下载新版本 Tomcat

Tomcat 9 → 109.0.xx → 9.0.yy 为例:

cd /tmp
wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.85/bin/apache-tomcat-9.0.85.tar.gz

版本号请访问:https://tomcat.apache.org


4️⃣ 解压并替换目录

sudo tar -xzf apache-tomcat-9.0.85.tar.gz -C /opt
sudo mv /opt/apache-tomcat-9.0.85 /opt/tomcat-new

5️⃣ 复制配置文件(关键)

sudo cp -r /opt/tomcat/conf/* /opt/tomcat-new/conf/
sudo cp -r /opt/tomcat/webapps/* /opt/tomcat-new/webapps/

⚠️ 不要直接覆盖 bin 目录,避免脚本差异问题。


6️⃣ 设置权限

sudo chown -R tomcat:tomcat /opt/tomcat-new
sudo chmod +x /opt/tomcat-new/bin/*.sh

7️⃣ 切换 Tomcat 目录

sudo mv /opt/tomcat /opt/tomcat_old
sudo mv /opt/tomcat-new /opt/tomcat

8️⃣ 启动并验证

sudo systemctl start tomcat
sudo systemctl status tomcat

访问:

http://服务器IP:8080

三、升级方式二:使用 apt(不推荐生产)

仅适用于 Tomcat 8/9 小版本升级

sudo apt update
sudo apt upgrade tomcat9

特点:

  • 升级受 Debian 仓库限制
  • 版本不是最新
  • 配置文件可能被覆盖

四、升级方式三:Tomcat 8 → Tomcat 10(⚠️ 不兼容)

Tomcat 10 使用 Jakarta EE不能直接升级

必须做:

  • Java 包名从:
    javax.* → jakarta.*
    
  • 使用迁移工具: https://tomcat.apache.org/download-migration.cgi

否则会 404 / ClassNotFound


五、升级后检查清单 ✅

  • catalina.out 无 ERROR
  • ✅ 应用正常访问
  • ✅ 端口未变化(8080 / 8443)
  • ✅ systemd 服务正常
  • ✅ 防火墙规则

六、回滚方案(重要)

sudo systemctl stop tomcat
sudo mv /opt/tomcat /opt/tomcat_failed
sudo mv /opt/tomcat_bak_2026-01-21 /opt/tomcat
sudo systemctl start tomcat

七、建议

场景 建议
生产环境 官方二进制 + 备份
测试环境 apt
多 Tomcat 使用不同端口
Java 升级 确认 Tomcat 支持

如果你愿意,可以告诉我:

  • Debian 版本(10 / 11 / 12)
  • Tomcat 当前版本
  • 是否是生产环境

我可以给你 精确到命令的升级方案

0