温馨提示×

debian Tomcat如何升级版本

小樊
43
2026-09-06 14:23:58
栏目: 智能运维

在 Debian 上“升级 Tomcat 版本”有几种常见方式,取决于你当前 Tomcat 是怎么安装的。下面按场景说明。


一、先确认当前 Tomcat 安装方式

which tomcat
dpkg -l | grep tomcat
ls /opt | grep tomcat
ls /usr/share | grep tomcat
systemctl status tomcat*

常见情况:

  • ✅ 通过 apt 安装(如 tomcat9
  • ✅ 手动安装在 /opt/tomcat
  • ✅ 使用 Docker

二、通过 apt 安装的 Tomcat(不推荐跨大版本)

1. 小版本升级(如 9.0.x → 9.0.y)

sudo apt update
sudo apt upgrade tomcat9

2. 跨大版本(如 9 → 10 / 10 → 11)

⚠️ Debian 官方仓库通常不提供跨大版本升级

推荐做法:卸载旧版本 + 手动安装新版本

sudo systemctl stop tomcat9
sudo apt remove tomcat9

然后看「手动安装」方式。


三、手动安装新版本 Tomcat(推荐 ✅)

1. 下载新版本

去官网:https://tomcat.apache.org

cd /opt
sudo wget https://dlcdn.apache.org/tomcat/tomcat-10/v10.1.x/bin/apache-tomcat-10.1.x.tar.gz
sudo tar -xzf apache-tomcat-10.1.x.tar.tar.gz
sudo mv apache-tomcat-10.1.x tomcat10

2. 创建专用用户

sudo useradd -r -s /bin/false tomcat
sudo chown -R tomcat:tomcat /opt/tomcat10

3. 迁移配置(重要)

从旧 Tomcat 复制:

  • conf/server.xml
  • conf/web.xml
  • conf/context.xml
  • conf/tomcat-users.xml
  • webapps/
  • lib/(自定义 jar)

⚠️ 注意:

  • Tomcat 10+ 使用 Jakarta EE(不是 javax.*)
  • 旧应用可能需要修改代码或重新打包

四、配置 systemd 服务

sudo nano /etc/systemd/system/tomcat10.service

示例:

[Unit]
Description=Apache Tomcat 10
After=network.target

[Service]
Type=forking
User=tomcat
Group=tomcat
Environment=JAVA_HOME=/usr/lib/jvm/java-17-openjdk
Environment=CATALINA_PID=/opt/tomcat10/temp/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat10
ExecStart=/opt/tomcat10/bin/startup.sh
ExecStop=/opt/tomcat10/bin/shutdown.sh

[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable tomcat10
sudo systemctl start tomcat10

五、Docker 方式(最简单 ✅)

docker pull tomcat:10-jdk17
docker run -d -p 8080:8080 \
  -v /path/to/webapps:/usr/local/tomcat/webapps \
  tomcat:10-jdk17

六、升级前必做清单 ✅

  • [ ] 备份 webappsconf
  • [ ] 查看应用是否兼容 Jakarta EE
  • [ ] 检查 JDK 版本(Tomcat 10 需 Java 11+)
  • [ ] 停止旧 Tomcat 再启动新版本

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

  • Debian 版本
  • 当前 Tomcat 版本
  • 安装方式(apt / 手动 / docker)

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

0