在 Debian 上更换 Tomcat 版本,常见有三种方式,推荐程度从高到低如下:
适合:生产环境、追求稳定
Debian 官方仓库里通常只有 一个 Tomcat 大版本(如 Tomcat 9 或 10),但不同 Debian 版本会提供不同 Tomcat。
apt update
apt-cache search tomcat
例如:
tomcat9
tomcat10
sudo apt install tomcat9
或
sudo apt install tomcat10
sudo systemctl stop tomcat9
sudo systemctl disable tomcat9
sudo systemctl enable tomcat10
sudo systemctl start tomcat10
✅ 优点
❌ 缺点
适合:需要指定小版本(如 9.0.85)
sudo apt remove tomcat9 --purge
cd /opt
sudo wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.85/bin/apache-tomcat-9.0.85.tar.gz
sudo tar -xzf apache-tomcat-9.0.85.tar.gz
sudo mv apache-tomcat-9.0.85 tomcat9
sudo useradd -r -m -U -d /opt/tomcat9 -s /bin/false tomcat
sudo chown -R tomcat:tomcat /opt/tomcat9
sudo nano /etc/systemd/system/tomcat9.service
内容示例:
[Unit]
Description=Apache Tomcat 9
After=network.target
[Service]
Type=forking
User=tomcat
Group=tomcat
Environment=JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
Environment=CATALINA_HOME=/opt/tomcat9
Environment=CATALINA_BASE=/opt/tomcat9
ExecStart=/opt/tomcat9/bin/startup.sh
ExecStop=/opt/tomcat9/bin/shutdown.sh
Restart=on-failure
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable tomcat9
sudo systemctl start tomcat9
✅ 优点
❌ 缺点
适合:开发 / 测试
curl -s "https://get.sdkman.io" | bash
source ~/.sdkman/bin/sdkman-init.sh
sdk install tomcat 9.0.85
❌ 不推荐用于服务器
Tomcat 9 → 10 是重大升级
javax.* 改为 jakarta.*修改端口
/opt/tomcat9/conf/server.xml
java -version
| 场景 | 推荐方式 |
|---|---|
| 生产服务器 | 官方仓库 或 手动安装 |
| 指定小版本 | 手动安装 |
| 本地开发 | SDKMAN |
如果你愿意,可以告诉我:
cat /etc/debian_version)我可以给你 精确的操作步骤 ✅