Ubuntu Tomcat版本如何选择与升级
导读:Ubuntu 上 Tomcat 版本选择与升级实操指南 一 版本选择建议 优先选择仍在维护的 LTS 系列小版本:如 Tomcat 9.0.x、Tomcat 10.1.x。生产环境建议 Java 11(OpenJDK 11 或 Oracl...
Ubuntu 上 Tomcat 版本选择与升级实操指南
一 版本选择建议
- 优先选择仍在维护的 LTS 系列小版本:如 Tomcat 9.0.x、Tomcat 10.1.x。生产环境建议 Java 11(OpenJDK 11 或 Oracle JDK 11)作为长期稳定基线;Tomcat 9/10 均可在 Ubuntu 18.04+ 上良好运行。若已有大量历史应用且依赖 javax.servlet 包名,优先选 Tomcat 9;新项目可接受 Jakarta EE 9+(jakarta. 包名)* 时再选 Tomcat 10/11。不建议把“最新版”直接用于生产,应先在预发环境充分验证。
二 安装方式取舍
- 使用系统仓库安装(适合稳定、运维简单):在 Ubuntu 20.04 等版本上可直接安装 tomcat8 等包,命令示例:sudo apt-get install tomcat8;适合快速启用与系统级管理。缺点是版本可能偏旧、升级节奏受发行版仓库限制。
- 官方压缩包安装(适合需要新版本或精细控制):下载 Core/Full/Embedded 三种发行包中的 Full(含文档与示例,便于排障),解压到 /opt/tomcat 并按需创建专用系统用户与权限,便于多实例与版本并存。
三 标准升级流程
- 小版本升级(如 9.0.x → 9.0.y):建议就地替换二进制,保留配置与应用。步骤要点:
- 备份:备份 conf/、webapps/(必要时含 logs/);
- 停机:执行 ./shutdown.sh 或 systemctl stop tomcat;
- 替换:解压新版本到临时目录,将旧版的 conf/ 与 webapps/ 覆盖到新目录;
- 启动与验证:启动后 tail -f logs/catalina.out,回归测试核心业务;
- 回滚预案:异常则停止新版本、恢复原目录并重启。
- 跨大版本升级(如 8.5 → 9.0/10.1):存在 javax → jakarta 包名变更与行为差异,不能简单覆盖配置。建议:
- 在测试环境完成全量回归;
- 按需调整应用依赖(如从 javax.servlet API 迁移到 jakarta.servlet API);
- 采用“并行部署 + 灰度/蓝绿切换”降低风险;
- 逐步推广,保留回滚通道。
四 systemd 服务与目录规划
- 推荐以 systemd 托管,示例服务文件(/etc/systemd/system/tomcat.service):
[Unit]
Description=Apache Tomcat Web Application Container
After=network.target
[Service]
Type=forking
Environment=JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
User=tomcat_user
Group=tomcat_group
UMask=0007
RestartSec=10
Restart=always
[Install]
WantedBy=multi-user.target
管理命令:sudo systemctl daemon-reload & & sudo systemctl enable --now tomcat。目录建议:安装到 /opt/tomcat,数据与应用分离,便于升级与回滚。
五 安全与运维要点
- 管理界面保护:在 conf/tomcat-users.xml 仅授予必要角色(如 manager-gui/admin-gui),并为强密码;在 webapps/manager/META-INF/context.xml 通过 RemoteAddrValve 限制可访问来源 IP。
- 端口与防火墙:默认 8080;云服务器需同时放行 安全组/防火墙 规则(如 ufw allow 8080/tcp)。
- JVM 与连接器调优:在 setenv.sh 设置堆与元空间(如 -Xms/-Xmx/-XX:MetaspaceSize),在 server.xml 调整 maxThreads/acceptCount/enableLookups 等参数,结合 CPU/内存与并发量压测后固化。
- 日志轮转:对 catalina.out 使用 logrotate 做按日轮转与保留策略,避免单文件过大。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu Tomcat版本如何选择与升级
本文地址: https://pptw.com/jishu/787457.html
