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

相关推荐

  • Activiti MySQL表结构是怎样的?activiti mysql数据库表

    Activiti引擎在MySQL数据库中运行稳定,核心在于合理配置连接池与索引优化,而非盲目追求硬件升级,当开发者将Activiti工作流引擎部署到MySQL环境时,最常遇到的痛点并非代码逻辑错误,而是数据库层面的性能瓶颈,很多团队在初期为了快速上线,直接使用了默认配置,结果在并发量稍大时,流程实例卡顿、任务分……

    2026年6月7日
    3600
  • android 网络请求方法有哪些,android网络请求怎么构造

    在Android开发领域,构建高效、稳定的网络层是应用架构的基石,Android 网络请求方法_构造请求方法的核心在于构建一个具备高内聚、低耦合特性的请求封装层,这不仅关乎代码的可维护性,更直接影响应用在网络环境复杂多变情况下的用户体验,一个优秀的网络请求构造方案,应当遵循单一职责原则,将请求参数的组装、Hea……

    2026年3月28日
    8700
  • AIML框架学习(一) _整体框架

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

    2026年6月17日
    3700
  • SAP FTP服务器如何配置?SAP HANA服务器配置教程

    SAP系统与FTP服务器的集成及SAP HANA服务器的正确配置,其核心在于实现系统间数据传输的自动化与安全性,确保海量业务数据在传输过程中具备高可用性与完整性,成功的配置方案必须构建在稳固的系统架构之上,通过精确的参数设置与权限控制,打通SAP应用层与文件服务器之间的数据通道,从而支撑企业级数据流转的实时需求……

    2026年3月20日
    11400
  • asp网站搭建教程,Drupal网站怎么搭建?

    在Windows环境下利用ASP技术框架配合Drupal内容管理系统搭建网站,核心在于精准配置IIS服务器环境与PHP运行时的兼容性,并通过正确的数据库连接实现动态内容管理,成功的搭建流程不仅仅是代码的堆砌,更是对服务器权限、端口配置及依赖组件的系统性整合,这一过程要求搭建者具备跨越不同技术栈的实操能力,确保微……

    2026年4月6日
    6600
  • 海外云服务器低至12元/月是真的吗?海外云服务器哪个牌子好

    衡天云海外云主机低至12元/月、物理机低至499元/月且续费同价,是中小企业出海及独立站运营中兼顾成本与稳定性的最优解,在数字化浪潮席卷全球的当下,选择正确的云服务提供商不再仅仅是技术决策,更是关乎企业生存与发展的战略考量,对于许多致力于拓展国际市场的中小企业而言,高昂的海外服务器租赁费用往往是阻碍其快速起步的……

    2026年7月7日
    16200
  • access数据库连接状态怎么获取?access连接状态查看方法

    Access数据库连接状态的核心在于准确捕获连接对象的当前属性与错误代码,获取access连接状态的唯一可靠途径是编写健壮的状态检测代码,而非依赖主观臆测,在数据处理过程中,稳定的连接是业务逻辑运行的基石,一旦连接断开或未正确初始化,所有数据操作都将失败,建立一套标准化的access数据库连接状态_获取acce……

    2026年3月24日
    10800
  • 95IDC香港日本云主机靠谱吗?95IDC季付5折优惠怎么领取

    95IDC在性价比和基础稳定性上表现合格,适合预算有限的个人开发者或小型项目,其香港和日本节点的季付5折优惠(1核2G内存75元/季度起)极具吸引力,且提供1天免费试用,建议先通过试用验证网络延迟再决定长期投入,在云计算市场日益内卷的2026年,选择一家既便宜又稳定的云服务商并非易事,许多用户都在寻找一种平衡……

    2026年6月26日
    1910
  • acroservers VPS优惠吗?全球37个机房9折测试IP

    Acroservers VPS以5欧元/月起的价格提供1Gbps高带宽,支持全球37个机房及中国香港、日本等热门节点,配合9折优惠码极具性价比,在云计算市场日益内卷的当下,寻找一款既便宜又稳定的VPS服务并非易事,许多用户受困于低价机器的网络波动,或是高价机器的性能过剩,Acroservers 的出现,恰好填补……

    2026年6月23日
    2200
  • 春节买RackNerd主机怎么选?圣何塞达拉斯芝加哥纽约西雅图机房哪个好

    RackNerd在2026年推出的$10.88/年1核套餐,凭借圣何塞、达拉斯、芝加哥、纽约、西雅图五大美西美东核心机房的低延迟优势,依然是个人开发者搭建轻量级应用和静态站点的高性价比首选方案,在云服务器市场内卷日益严重的当下,寻找稳定且廉价的VPS(虚拟私有服务器)已成为许多技术爱好者的刚需,RackNerd……

    2026年7月6日
    13810

发表回复

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