温馨提示×

怎样在debian升tomcat版

小樊
37
2026-10-12 07:33:22
栏目: 智能运维

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


一、先确认当前安装方式

which tomcat
dpkg -l | grep tomcat
ls /etc/tomcat*
systemctl status tomcat

常见情况:

  • apt 安装(/usr/share/tomcatX)
  • 官方二进制包手动安装(/opt/tomcat)
  • docker 运行

二、方式一:通过 apt 升级(推荐仅小版本)

1. 更新软件源

sudo apt update
sudo apt upgrade

2. 如果 Debian 仓库里版本足够新

sudo apt install tomcat9
# 或
sudo apt install tomcat10

⚠️ 注意:

  • Debian 稳定版仓库 Tomcat 版本较旧
  • 大版本(如 8 → 9 → 10)不会自动升级

三、方式二:手动安装官方新版(最常用 ✅)

1. 停止旧 Tomcat

sudo systemctl stop tomcat

2. 下载新版本

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

cd /opt
sudo wget https://archive.apache.org/dist/tomcat/tomcat-10/v10.1.20/bin/apache-tomcat-10.1.20.tar.gz
sudo tar -xzf apache-tomcat-10.1.20.tar.gz
sudo mv apache-tomcat-10.1.20 tomcat10

3. 备份旧配置

sudo cp -r /opt/tomcat/conf /opt/tomcat10/conf.bak

4. 迁移配置(重要)

通常需要复制:

  • server.xml
  • web.xml
  • context.xml
  • tomcat-users.xml
  • catalina.properties
sudo cp /opt/tomcat/conf/server.xml /opt/tomcat10/conf/
sudo cp /opt/tomcat/conf/tomcat-users.xml /opt/tomcat10/conf/

5. 修改 systemd 服务

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

示例:

[Unit]
Description=Tomcat
After=network.target

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

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

四、方式三:Docker 升级(最简单)

docker pull tomcat:10.1
docker stop tomcat
docker run -d --name tomcat -p 8080:8080 \
  -v /data/tomcat/webapps:/usr/local/tomcat/webapps \
  tomcat:10.1

五、升级后检查

systemctl status tomcat
curl http://localhost:8080

查看版本:

/opt/tomcat10/bin/version.sh

六、注意事项(很重要)

✅ Java 版本匹配:

  • Tomcat 10 → Java 11+
  • Tomcat 9 → Java 8+

✅ 大版本升级注意:

  • Tomcat 10 使用 Jakarta EE(包名 javax.* → jakarta.*)
  • 老项目可能不兼容

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

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

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

0 踩