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://test.idctop.com/article/475443.html

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

相关推荐

  • 华为出售x86服务器业务到底多少钱,具体价格是多少?

    华为出售x86服务器业务的金额并未公开披露,但据行业分析,交易规模在数百亿元级别,标志着华为战略调整的重要一步,华为为何出售x86服务器业务国际环境与芯片供应限制近年来美国对华为的出口管制持续升级,英特尔等厂商的x86芯片供应受限,导致华为x86服务器业务面临巨大的不确定性,华为虽然通过备货和自研芯片努力应对……

    2026年8月19日
    900
  • Android短信备份失败怎么办?安卓手机短信数据恢复教程

    Android短信备份最稳妥的方式是结合手机厂商自带的云服务与第三方专业备份工具,前者适合日常自动同步,后者适合数据迁移与本地归档,两者互补能确保重要信息不丢失,在日常使用中,短信不仅是沟通记录,往往还承载着验证码、重要通知甚至情感回忆,随着手机存储空间的紧张或设备更换频率的增加,如何安全、完整地保留这些碎片化……

    2026年6月12日
    3200
  • linux mo怎么安装配置?,有哪些注意事项

    linux mo通常是指Linux Mint,一个基于Ubuntu的桌面操作系统,它以Cinnamon桌面环境为核心,在易用性和稳定性之间取得了绝佳平衡,是目前新手从Windows迁移到Linux的最友好选择之一,linux mint 适合新手吗?深入解析它的设计哲学很多刚接触Linux的朋友会问,到底哪个发行……

    2026年7月16日
    1700
  • AIML框架学习(一) _整体框架

    AIML框架并非单一软件,而是连接算法模型与业务应用的工程化基础设施,其核心价值在于通过标准化流程解决模型从训练到部署的全链路效率问题,什么是AIML框架:重新定义开发范式很多人听到“框架”二字,第一反应是复杂的代码库或晦涩的数学公式,AIML框架更像是一个高度自动化的“智能工厂流水线”,在这个工厂里,原始数据……

    2026年6月17日
    3800
  • Windows下如何安装Docker?Linux容器化部署教程

    在 Windows 上运行 Docker 并管理 Linux 容器,主要依赖于 Docker Desktop for Windows,由于 Docker 最初是为 Linux 内核设计的,而 Windows 使用 NTFS 内核,Docker 在 Windows 上运行 Linux 容器时,需要通过一个轻量级的……

    2026年7月9日
    18600
  • APP必须用CDN吗,为什么一定要定义服务契约

    APP并非必须使用CDN,但在涉及高并发、跨区域访问或静态资源丰富的场景下,CDN是保障用户体验和降低源站压力的关键基础设施;而定义服务契约则是微服务架构中确保系统稳定性、降低耦合度及实现自动化测试的基石,二者分别解决的是“传输效率”与“架构治理”的核心问题,在移动互联网进入深水区后的今天,开发者往往容易陷入工……

    行业资讯 2026年6月6日
    3600
  • 4核8G服务器到底能支持多少人同时在线,如何计算

    4核8g服务器在合理配置下,能支撑日均2000-3000个独立IP访问,并发处理能力约100-200人,但具体数值取决于业务类型、架构优化和带宽上限,影响并发量的核心因素CPU与内存的实际分配逻辑4核CPU处理线程任务,8G内存负责数据缓存,当用户请求到达时,服务器会为每个连接分配独立进程或线程,静态页面每次请……

    2026年8月5日
    700
  • Android性能测试怎么做?Android性能测试工具有哪些

    Android性能测试的核心在于通过系统化监控CPU、内存、功耗及帧率,结合自动化脚本与专业工具链,精准定位应用瓶颈并输出可量化的优化报告,而非单纯依赖单一指标,在移动互联网进入存量竞争时代的当下,应用流畅度直接决定用户留存,许多开发者容易陷入“代码能跑就行”的误区,却忽视了底层资源调度的复杂性,性能测试不是简……

    2026年6月14日
    3210
  • asp 网站名字怎么修改?ASP报告生成器推荐

    在当前的互联网技术架构选型中,ASP(Active Server Pages)虽然已不再是最前沿的技术,但在大量遗留系统和企业内部管理平台中依然占据重要地位,针对此类系统的维护与升级,{asp 网站名字_ASP报告}不仅是一份简单的技术文档,更是评估系统生命周期、安全性与商业价值的核心依据,核心结论在于:一份专……

    2026年3月17日
    12700
  • 自制迷你小电脑教程视频怎么下载,哪里有高清完整版?

    自制迷你小电脑是一项兼具技术挑战性与实用价值的工程,它不仅能以极低的成本获得高性能的计算体验,还能根据个人需求定制外观与功能,对于电子爱好者、极客以及需要轻薄主机的用户而言,通过DIY方式打造迷你主机,远比直接购买成品更具成就感与性价比,成功的关键在于精准的硬件选型、规范的组装流程以及系统调优,而获取高质量的视……

    2026年2月19日
    20200

发表回复

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