Ubuntu 20.04 如何安装 Apache Tomcat?详细安装步骤

在 Ubuntu 20.04 上安装 Apache Tomcat 最稳妥的方式是结合 OpenJDK 和官方二进制包,全程无需编译,适合追求稳定性的生产环境部署。

Tomcat 作为 Java 生态中应用最广泛的 Web 服务器和 Servlet 容器,其核心优势在于轻量级与高兼容性,对于许多开发者而言,如何在 Ubuntu 20.04 这一长期支持版本上构建可靠的服务环境,往往是项目上线前的第一道门槛,许多初学者容易陷入直接使用 apt 安装旧版本 Tomcat 的误区,导致功能缺失或安全漏洞,掌握手动安装最新稳定版的方法,不仅是技术能力的体现,更是保障业务连续性的关键。

更新Linux内核的方法解决Ubuntu20.04系统安装后wifi图标不显示问题
加载中
更新Linux内核的方法解决Ubuntu20.04系统安装后wifi图标不显示问题

环境准备与 Java 依赖配置

Tomcat 的运行完全依赖于 Java 环境,因此第一步是确保系统具备正确的 JDK 版本,Ubuntu 20.04 默认仓库中的 OpenJDK 版本可能较老,建议手动安装 OpenJDK 11 或 17,以匹配 Tomcat 9 或 10 的需求。

安装 OpenJDK 运行时环境

打开终端,首先更新软件包索引,确保获取最新的软件源信息,随后,执行安装命令,业内专家指出,选择 OpenJDK 而非 Oracle JDK 能显著降低企业级部署的授权复杂度。

  1. 更新系统包列表:sudo apt update
  2. 安装 OpenJDK 11:sudo apt install openjdk-11-jdk

安装完成后,通过 java -version 验证版本,若输出包含 “OpenJDK 11.x.x”,则说明环境就绪,Tomcat 即可识别 Java 路径,无需额外配置复杂的 CLASSPATH 环境变量。

创建专用系统用户

出于安全考虑,严禁使用 root 用户运行 Tomcat 服务,创建一个专用的低权限用户是最佳实践,这能有效限制潜在攻击者对系统文件的访问范围。

创建 tomcat 用户与组

执行以下命令创建名为 tomcat 的系统用户,并指定其主目录为 /opt/tomcat。

  • sudo groupadd tomcat
  • sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat

    Ubuntu 20.04 如何安装 Apache Tomcat?详细安装步骤

这里的 -s /bin/false 参数确保该用户无法登录系统,仅用于运行服务,极大提升了系统安全性。

下载与部署 Tomcat 二进制包

相比于使用 apt 安装的版本,直接从 Apache 官网下载二进制包能确保你获得最新的安全补丁和功能特性,这是许多资深运维人员在处理 Ubuntu 20.04 安装 Tomcat 最新稳定版 时的首选方案。

获取安装包

访问 Apache Tomcat 官方下载页面,找到最新的稳定版本(Tomcat 9.0.x),使用 wget 命令将压缩包下载到 /tmp 目录。

  1. 进入临时目录:cd /tmp
  2. 下载压缩包:sudo wget https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.83/bin/apache-tomcat-9.0.83.tar.gz

注意:版本号需根据实际最新情况调整,下载完成后,验证文件完整性,确保未损坏。

解压与权限设置

将压缩包解压至 /opt 目录,这是 Linux 系统中存放可选软件的标准位置。

移动与授权

  1. 解压:sudo tar xzvf apache-tomcat-9.tar.gz -C /opt/tomcat --strip-components=1
  2. 赋予 tomcat 用户所有权:sudo chown -R tomcat:tomcat /opt/tomcat
  3. 赋予执行权限:sudo chmod -R 750 /opt/tomcat
  4. 这一步至关重要,它确保了只有 tomcat 用户及其所属组才能读取和修改配置文件,防止其他用户篡改服务行为。

    配置 Systemd 服务管理

    为了让 Tomcat 能够随系统启动并方便管理,需要创建 Systemd 服务单元文件,这是实现 Ubuntu 20.04 Tomcat 开机自启配置 的核心步骤,也是区分新手与专业运维的分水岭。

    编写服务文件

    创建一个新的服务文件 /etc/systemd/system/tomcat.service。

    服务文件内容详解

    使用文本编辑器打开文件,填入以下内容,这里需要明确 JAVA_HOME 路径,确保 Tomcat 能找到 Java 环境。

    Ubuntu 20.04 如何安装 Apache Tomcat?详细安装步骤

    [Unit]
    Description=Apache Tomcat Web Application Container
    After=network.target
    

    [Service]Type=forking

    User=tomcatGroup=tomcat

    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"Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"Environment="JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom"

    ExecStart=/opt/tomcat/bin/startup.shExecStop=/opt/tomcat/bin/shutdown.sh

    [Install]WantedBy=multi-user.target

    CATALINA_OPTS 设置了内存限制,防止 Tomcat 占用过多物理内存导致系统崩溃。-Xms512M 表示初始堆内存为 512MB,-Xmx1024M 表示最大堆内存为 1GB,对于大多数中小型应用,这一配置足以平衡性能与资源消耗。

    启用并启动服务

    保存文件后,重新加载 Systemd 守护进程,使新配置生效。

    1. 重载配置:sudo systemctl daemon-reload
    2. 启动服务:sudo systemctl start tomcat
    3. 设置开机自启:sudo systemctl enable tomcat

    通过 sudo systemctl status tomcat 检查服务状态,若显示 “active (running)”,则说明部署成功。

    防火墙与访问测试

    Ubuntu 20.04 默认启用 UFW 防火墙,若不开放端口,外部将无法访问 Tomcat。

    开放 8080 端口

    Tomcat 默认监听 8080 端口,执行以下命令允许 HTTP 流量通过。

    • sudo ufw allow 8080/tcp
    • sudo ufw reload

    验证部署

    在浏览器中输入 http://你的服务器IP:8080,若看到 Apache Tomcat 的默认欢迎页面,说明安装完全成功,你可以尝试部署一个简单的 WAR 包,验证应用加载能力。

    Ubuntu 20.04 如何安装 Apache Tomcat?详细安装步骤

    常见问题排查与优化建议

    在实际操作中,可能会遇到一些典型问题,页面加载缓慢或内存溢出。

    内存溢出处理

    若应用复杂,默认 1GB 内存可能不足,可通过修改 tomcat.service 中的 CATALINA_OPTS 增加 -Xmx 值,据行业共识认为,合理调整 JVM 参数是提升 Tomcat 稳定性的最有效手段之一。

    日志查看

    Tomcat 的日志位于 /opt/tomcat/logs/ 目录下,若服务启动失败,优先查看 catalina.out 文件,其中记录了详细的错误堆栈信息,能帮助快速定位问题。

    Q&A:Ubuntu 20.04 安装 Tomcat 的常见疑问

    Ubuntu 20.04 安装 Tomcat 与 CentOS 有何区别?

    主要区别在于包管理器和初始化系统,Ubuntu 使用 apt 和 Systemd,而 CentOS 使用 yum/dnf 和 Systemd,虽然服务管理命令相似,但 Ubuntu 的默认防火墙 UFW 比 CentOS 的 firewalld 更易于配置简单规则,Ubuntu 的软件源更新频率更高,获取最新 JDK 和 Tomcat 版本更为便捷。

    Tomcat 8.5 和 9.0 在 Ubuntu 20.04 上哪个更推荐?

    Tomcat 9.0 是当前的主流稳定版,支持最新的 Java EE 规范和更好的性能优化,Tomcat 8.5 已进入维护模式,仅接收安全补丁,除非有遗留应用强制要求,否则应优先选择 Tomcat 9.0,两者在 Ubuntu 20.04 上的安装步骤完全一致,区别仅在于下载的版本号。

    如何修改 Tomcat 的默认端口?

    编辑 /opt/tomcat/conf/server.xml 文件,找到 <Connector port="8080" protocol="HTTP/1.1" .../> 行,将 8080 修改为目标端口,如 80,保存后重启 Tomcat 服务即可生效,若修改为非特权端口(大于 1024),无需 root 权限;若修改为 80 或 443,需确保 tomcat 用户有相应权限或使用反向代理。

    首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/article/475443.html

赞 (0)
BGP选路原则13条规则是什么?BGP选路优先级顺序详解
上一篇 2026年7月9日 16:28
Python怎么读才标准?Python正确发音及拼写
下一篇 2026年7月9日 16:30

相关推荐

  • FriendHosting春季KVM VPS4折是真的吗?2026年便宜稳定VPS推荐

    Friendhosting在2022年春季推出的KVM VPS 4折优惠,凭借10个可选机房和不限流量的特性,为需要高性价比海外服务器资源的用户提供了极具竞争力的解决方案,Friendhosting 2022春季促销深度解析KVM架构与不限流量的核心价值在虚拟私有服务器(VPS)市场中,KVM架构因其接近原生性……

    2026年7月8日
    4400
  • 国外CDN云存储空间不足怎么办,如何快速清理释放空间?

    面对国外CDN云存储空间不足怎么办这一棘手问题,核心结论在于建立一套“紧急清理-自动化管理-架构分层”的立体化应对机制,首要任务是立即清除冗余日志与过期缓存以释放紧急空间,紧接着配置生命周期策略实现数据的自动流转,最终通过冷热数据分离架构解决长期扩容与成本平衡问题,这一策略能确保业务连续性的同时,将存储成本控制……

    2026年2月28日
    12800
  • Android缓存网络图片怎么实现?Android图片缓存框架推荐

    在Android应用开发中,高效加载网络图片是提升用户体验的关键环节,而构建一套完善的android 缓存网络图片机制,则是解决图片加载卡顿、OOM(内存溢出)以及流量消耗问题的核心方案,一套优秀的图片缓存策略,必须采用“内存缓存 + 磁盘缓存 + 网络拉取”的三级架构,并结合LRU(最近最少使用)算法进行生命……

    2026年3月25日
    10000
  • 腾讯云COS资源包企业用户5.7折是真的吗?腾讯云对象存储资源包怎么买最划算

    腾讯云对象存储COS资源包针对企业用户推出的最低5.7折折扣,是降低大规模数据存储成本、优化IT预算的有效方案,尤其适合需要长期留存海量非结构化数据的中小企业及初创团队,在数字化转型的深水区,数据已成为企业的核心资产,随着业务量的激增,存储成本往往成为压垮初创公司或中小型企业IT预算的最后一根稻草,许多企业在面……

    2026年6月20日
    2410
  • app软件如何开发,交易软件APP测试怎么做?

    交易软件APP的开发与测试是一个系统工程,其核心结论在于:唯有将严谨的金融业务逻辑与高标准的软件工程技术深度融合,构建从开发架构设计到全链路测试的闭环体系,才能交付安全、稳定且合规的交易产品, 这不仅仅是代码的堆砌,更是对资金安全与用户体验的极致追求,在探讨app软件如何开发_交易软件APP测试这一课题时,必须……

    2026年3月23日
    9200
  • 国外jsp虚拟主机哪家好?国外jsp虚拟主机怎么选

    对于追求快速部署、希望规避繁琐备案流程以及需要特定Java运行环境的开发者而言,选择国外jsp虚拟主机是极具性价比的解决方案,其核心优势在于能够提供即开即用的Tomcat环境、免备案的互联网访问权限以及相对较低的入门成本,但前提是必须精准甄别线路质量与资源配置,以确保国内访问速度与程序运行的稳定性, 核心优势……

    2026年2月28日
    11100
  • CMIVPS 8月促销怎么买最划算,哪家香港VPS速度快且便宜?

    CMIVPS 8月促销力度极大,香港VPS月付8折、年付7折,独立服务器9折,美国VPS月付9折,是目前部署海外业务、优化跨境访问速度的高性价比时机,香港VPS月付多少钱以及性价比分析在选择海外服务器时,预算和性能的平衡是核心,很多用户在搜索香港VPS月付多少钱时,往往容易忽略线路质量这一关键变量,香港VPS的……

    2026年7月14日
    600
  • 国外业务中台系统到期怎么续费,续费流程是怎样的?

    系统续费是业务重构与成本优化的战略契机,而非简单的行政流程, 企业在面对国外业务中台系统到期续费时,应将其视为一次深度的业务体检与架构升级机会,通过多维度的价值评估、精细化的成本核算以及前瞻性的合规审查,企业不仅能规避供应商锁定风险,更能利用谈判筹码获取更优服务条款,从而确保海外业务的技术底座稳固且具备高性价比……

    2026年2月27日
    15400
  • 桌面画窗口怎么操作?云桌面API调用方法详解

    云桌面API正在重塑企业数字化办公的底层逻辑,其核心价值在于通过标准化的接口调用,实现了桌面环境与应用窗口的精细化、自动化管理,对于现代企业IT架构而言,掌握并深度利用api 桌面画窗口_云桌面API技术,不仅是提升运维效率的捷径,更是构建智能、安全、高效云办公生态的关键基础设施, 这项技术打破了传统桌面运维的……

    2026年3月24日
    11500
  • AI学习课怎么定学习目标?AI学习路线规划

    学习AI的核心目标不是成为程序员,而是掌握“人机协作”的思维能力,通过提示词工程与工作流自动化,将个人效率提升数倍,从而在2026年的职场中建立不可替代的竞争优势,很多人对AI学习存在误解,认为必须精通Python或深度学习算法才能入门,这种观念在2026年已经过时,现在的AI工具已经高度封装,普通人只需掌握……

    2026年6月3日
    3800

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注