在 Debian 上“升级 Tomcat 版本”有几种常见方式,取决于你当前 Tomcat 是怎么安装的。下面按场景说明。
which tomcat
dpkg -l | grep tomcat
ls /opt | grep tomcat
ls /usr/share | grep tomcat
systemctl status tomcat*
常见情况:
apt 安装(如 tomcat9)/opt/tomcatsudo apt update
sudo apt upgrade tomcat9
⚠️ Debian 官方仓库通常不提供跨大版本升级
推荐做法:卸载旧版本 + 手动安装新版本
sudo systemctl stop tomcat9
sudo apt remove tomcat9
然后看「手动安装」方式。
去官网: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
sudo useradd -r -s /bin/false tomcat
sudo chown -R tomcat:tomcat /opt/tomcat10
从旧 Tomcat 复制:
conf/server.xmlconf/web.xmlconf/context.xmlconf/tomcat-users.xmlwebapps/lib/(自定义 jar)⚠️ 注意:
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 pull tomcat:10-jdk17
docker run -d -p 8080:8080 \
-v /path/to/webapps:/usr/local/tomcat/webapps \
tomcat:10-jdk17
webapps、conf如果你愿意,可以告诉我:
我可以给你精确到命令的升级方案。