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/ubuntu-20-04-%e5%a6%82%e4%bd%95%e5%ae%89%e8%a3%85-apache-tomcat%ef%bc%9f%e8%af%a6%e7%bb%86%e5%ae%89%e8%a3%85%e6%ad%a5%e9%aa%a4/

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

相关推荐

  • Asp如何制作Rss阅读器?Asp Rss阅读器制作教程

    构建基于ASP技术的RSS阅读器,是实现个性化媒体内容聚合与分发的最佳解决方案,这一技术路径能够帮助内容创作者低成本、高效率地搭建专属的媒体平台,核心优势在于ASP技术的成熟性与RSS协议标准化的完美结合,使得数据抓取、解析与展示变得逻辑严密且执行高效, 通过自主开发RSS阅读器,媒体制作者不再受限于第三方平台……

    2026年3月27日
    10100
  • 国外CDN1111活动有哪些?国外CDN1111怎么买最划算?

    对于跨境电商、出海游戏及全球流媒体企业而言,每年的双十一不仅是消费者的狂欢,更是技术基础设施升级的战略窗口期,核心结论在于:利用国外CDN双十一活动进行规模化采购与架构升级,是企业实现降本增效、优化全球用户体验的最佳时机,但前提是必须基于业务特性制定精准的技术选型与采购策略,避免陷入低价陷阱,在全球化业务竞争日……

    2026年3月1日
    16500
  • authtoken获取方法详解,_authToken取值说明是什么?

    _authToken 的获取本质上是客户端与服务端建立信任连接的关键环节,其核心在于准确捕获登录请求响应中的身份凭证字段,并确保证据的有效存储与后续调用,_authToken 取值说明的核心逻辑,在于精准定位响应数据结构中的特定节点,并区分临时会话凭证与长期身份令牌的差异,对于开发者而言,掌握这一过程不仅能解决……

    2026年4月6日
    10700
  • app压力测试服务怎么做?压力负载测试工具怎么选

    App压力测试服务_RES11-02的核心价值在于通过模拟高并发场景,精准定位系统瓶颈,确保业务在流量洪峰下不崩溃、不卡顿,实现稳定性与用户体验的双重保障,在移动互联网进入存量竞争时代的今天,单纯的功能上线已无法满足用户需求,用户不再容忍加载慢、闪退或支付失败等低级错误,对于运营者而言,每一次大促、每一次版本更……

    2026年6月4日
    4100
  • 如何选择靠谱的app开发公司?查询应用组件分组容量数据排名

    查询应用、组件及分组容量数据的排名,核心在于调用ListCapacityOrder接口,通过指定ResourceType和OrderBy参数,精准获取各维度的容量水位与排序结果,从而优化资源分配,在App开发的日常运维中,容量管理往往是最容易被忽视却最致命的环节,当流量洪峰突至,或者后台批量任务堆积时,开发者最……

    2026年6月14日
    2610
  • 快手业务平台24小时在线下单是真的吗,靠谱吗

    做快手这行,白天靠内容,晚上靠平台,快手业务平台24小时在线下单的真相是:官方工具(快手粉条)可以随时自助付费投放,第三方代运营服务商的”24小时在线下单”更多是预约挂单,真正的人工响应要等工作时间,别被”24小时”三个字带偏,先分清楚你要的是自动化投放,还是人工托管服务,快手业务平台24小时在线下单怎么操作凌……

    2026年9月1日
    500
  • 怎样装打印机连接到电脑,打印机连接不上电脑怎么办

    将打印机成功连接到电脑的核心在于完成物理线路或无线网络的对接,并确保操作系统安装了匹配的驱动程序, 这一过程主要分为硬件连接与软件配置两个阶段,无论是通过传统的USB线缆还是现代的Wi-Fi网络,只要遵循正确的安装顺序,都能实现设备与电脑的高效通信, 安装前的准备工作在开始操作之前,确认设备清单和环境状态是避免……

    2026年2月22日
    19000
  • 易探云0元领虚拟主机试用吗?免费云主机申请流程

    易探云创业扶持计划允许新用户0元领取免费云虚拟主机,并提供1个月全能型虚拟主机试用,这是低成本启动个人博客或小型企业官网的最佳路径,在2026年的互联网创业环境下,流量成本居高不下,服务器运维门槛依然让许多非技术背景的创业者望而却步,对于刚起步的个人开发者、小微工作室或独立博主而言,寻找一款既稳定又无需前期投入……

    2026年6月27日
    1600
  • asp水果蔬菜网站源码怎么用?asp网站开发源码下载

    ASP水果蔬菜网站源码是构建传统B2B或B2C生鲜电商平台的轻量级技术选择,其核心优势在于开发成本低、服务器兼容性高,特别适合中小商户快速上线基础版生鲜交易功能,在2026年的数字商业环境中,虽然PHP和Python占据了主流开发语言的大部分市场份额,但ASP(Active Server Pages)凭借其与W……

    2026年6月11日
    5000
  • CrownCloud洛杉矶QN机房Ryzen 9 VPS值得买吗,洛杉矶VPS推荐

    CrownCloud洛杉矶QN机房最新上线的AMD Ryzen系列VPS,基于KVM架构搭配Ryzen 9 5950X处理器,月付低至5美元起,是追求高性价比与高性能平衡的建站及开发首选,CrownCloud洛杉矶QN机房硬件配置深度解析在服务器选型中,CPU性能往往是决定应用响应速度的核心变量,CrownCl……

    2026年6月28日
    6200

发表回复

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