Ubuntu 20.04怎么安装配置Apache Tomcat?服务器部署教程

在Ubuntu 20.04服务器上部署Apache Tomcat,核心步骤是安装OpenJDK、下载Tomcat二进制包、配置systemd服务并放行防火墙端口,通常只需30分钟即可完成从环境搭建到应用部署的全过程。

Tomcat作为Java Web应用的事实标准服务器,其稳定性与灵活性深受开发者信赖,对于许多初次接触Linux服务器运维的工程师来说,如何在Ubuntu 20.04这一主流操作系统上从零搭建Tomcat环境,往往是一个既基础又关键的技能点,本文将通过实操视角,拆解安装、配置及优化的完整链路,确保你能在真实生产场景中快速落地。

Tomcat+war包的部署流程
加载中
Tomcat+war包的部署流程

Ubuntu 20.04安装Tomcat前环境准备

在正式安装Tomcat之前,必须确保Java运行环境(JRE)或Java开发工具包(JDK)已就绪,Tomcat本身是一个Java程序,它依赖于JVM(Java虚拟机)来执行字节码,Ubuntu 20.04默认的软件源中包含了OpenJDK,这是最稳定且免费的选择。

验证Java环境状态

通过终端检查系统是否已安装Java,输入以下命令:

java -version

如果系统返回OpenJDK版本信息,说明环境已就绪,若未安装,需执行更新源并安装OpenJDK 11或17(推荐LTS版本):

sudo apt update
sudo apt install openjdk-11-jdk

业内专家指出,选择JDK版本时应与你的Java应用程序编译版本保持一致,以避免运行时兼容性问题,使用Java 8编译的应用,最好运行在JDK 8或11上,虽然高版本JDK通常向下兼容,但特定API的行为差异可能导致潜在风险。

创建专用系统用户

出于安全考虑,不建议使用root用户运行Tomcat服务,创建一个名为tomcat的系统用户和组,专门用于运行该服务。

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

这里使用/bin/false作为shell,意味着该用户无法直接登录系统,从而降低了安全风险。

Ubuntu 20.04怎么安装配置Apache Tomcat?服务器部署教程

/opt/tomcat将作为Tomcat的安装目录。

下载与解压Tomcat二进制包

Tomcat的官方下载页面提供了最新的稳定版,截至2026年,Tomcat 9和Tomcat 10是主流选择,Tomcat 9支持Servlet 4.0和JSP 2.3,而Tomcat 10则全面转向Jakarta EE规范,包名从javax变更为jakarta,如果你的旧应用依赖javax.servlet,请选择Tomcat 9;如果是新项目,建议直接使用Tomcat 10以符合最新行业标准。

获取安装包

进入/tmp目录下载最新版本,以Tomcat 9为例:

cd /tmp
wget https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.x/bin/apache-tomcat-9.0.x.tar.gz

请将0.x替换为实际版本号,下载完成后,将文件移动到/opt目录并解压:

sudo mv apache-tomcat-9.0.x.tar.gz /opt/
sudo tar -xf /opt/apache-tomcat-9.0.x.tar.gz -C /opt/tomcat --strip-components=1

设置权限

确保tomcat用户对安装目录拥有完全控制权:

sudo chown -R tomcat:tomcat /opt/tomcat
sudo chmod -R 750 /opt/tomcat

这一步至关重要,许多新手在此处忽略权限设置,导致后续启动服务时出现“Permission denied”错误。

配置Systemd服务实现开机自启

为了让Tomcat像其他系统服务一样被管理,我们需要创建systemd服务单元文件,这比直接使用startup.sh脚本更稳定,且支持开机自启和日志管理。

创建服务文件

在/etc/systemd/system/目录下创建tomcat.service文件:

sudo nano /etc/systemd/system/tomcat.service

注意根据实际安装路径调整CATALINA_HOME:

[Unit]
Description=Apache Tomcat Web Application Container
After=network.target
[Service]
Type=forking
User=tomcat
Group=tomcat
Environment="JAVA_HOME=/usr/lib

Ubuntu 20.04怎么安装配置Apache Tomcat?服务器部署教程

/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" ExecStart=/opt/tomcat/bin/startup.sh ExecStop=/opt/tomcat/bin/shutdown.sh [Install] WantedBy=multi-user.target

这里设置了-Xmx1024M,即最大堆内存为1GB,对于小型应用,这个配置足够;若部署大型应用,需根据服务器物理内存调整-Xmx参数。

启动并验证服务

重新加载systemd配置,启动Tomcat并设置开机自启:

sudo systemctl daemon-reload
sudo systemctl start tomcat
sudo systemctl enable tomcat
sudo systemctl status tomcat

若状态显示为active (running),说明服务已正常启动。

防火墙配置与外部访问测试

Ubuntu默认使用UFW(Uncomplicated Firewall)管理防火墙,Tomcat默认监听8080端口,需放行该端口以允许外部访问。

放行端口

sudo ufw allow 8080/tcp
sudo ufw reload

访问测试

在浏览器中输入http://你的服务器IP:8080,如果看到Tomcat的默认欢迎页面,说明安装成功,你可以尝试部署一个简单的WAR包或静态HTML文件到/opt/tomcat/webapps/目录下,验证应用加载情况。

对于关注Ubuntu 20.04安装Tomcat详细步骤的用户,以上流程已覆盖核心环节,若需进一步配置SSL加密或反向代理,可结合Nginx使用,但这属于进阶优化范畴。

常见故障排查与优化建议

在实际运维中,可能会遇到一些常见问题,以下是基于行业共识认为的高频问题及解决方案。

服务无法启动

检查日志是排查问题的第一步,Tomcat的日志位于/opt/tomcat/logs/目录下,特别是catalina.out文件,若看到Java版本错误,请检查

Ubuntu 20.04怎么安装配置Apache Tomcat?服务器部署教程

JAVA_HOME路径是否正确。

内存溢出

若应用复杂,可能出现OutOfMemoryError,此时需调整CATALINA_OPTS中的-Xmx参数,据工信部数据,近年来Java应用对内存的需求呈上升趋势,建议根据实际监控数据动态调整,而非盲目增加。

安全加固

默认安装的Tomcat包含管理界面(Manager App),在生产环境中应禁用或限制访问,编辑/opt/tomcat/conf/tomcat-users.xml,移除默认的manager-gui角色,或设置强密码并限制IP访问。

Ubuntu 20.04安装Tomcat常见问题解答

Ubuntu 20.04安装Tomcat时如何选择合适的JDK版本?

选择JDK版本应主要依据你的Java应用程序编译版本,若应用使用Java 8编译,建议使用OpenJDK 11,它在长期支持(LTS)和兼容性之间取得了良好平衡,若应用已迁移至Jakarta EE规范(如使用jakarta.servlet而非javax.servlet),则必须搭配Tomcat 10或11,并相应使用JDK 11或更高版本,避免混用不兼容的JDK与Tomcat版本,否则会导致类加载失败。

Ubuntu 20.04安装Tomcat后访问8080端口超时怎么办?

首先确认Tomcat服务状态,执行sudo systemctl status tomcat查看是否运行,检查UFW防火墙规则,确保8080端口已放行,若防火墙正常,检查Tomcat配置文件server.xml中的Connector端口是否被修改,查看catalina.out日志,确认是否有绑定端口失败的错误,多数情况下,防火墙未放行或服务未启动是主要原因。

Ubuntu 20.04安装Tomcat与Nginx反向代理相比有何优劣?

直接访问Tomcat 8080端口配置简单,适合测试环境或内部应用,但Nginx作为反向代理,能更好地处理静态资源、SSL终止和负载均衡,减轻Tomcat负担,Nginx配置稍复杂,需额外安装和配置upstream模块,对于高并发生产环境,业内普遍认为Nginx+Tomcat架构更为稳健,能提供更高的可用性和安全性。

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

赞 (0)
腾讯云CI盲水印如何防盗图?图片版权保护技术
上一篇 2026年6月21日 03:25
大模型的SimCLR对比学习是什么?SimCLR对比学习算法原理详解
下一篇 2026年6月21日 03:26

相关推荐

  • WordPress网站如何开启Gzip压缩?Gzip压缩对SEO有帮助吗

    WordPress网站开启Gzip压缩的核心方法是在服务器配置文件中添加压缩指令,或直接在WordPress后台安装并配置WP Super Cache、W3 Total Cache等主流缓存插件,从而显著减少数据传输体积并提升加载速度,在2026年的互联网环境下,网页加载速度依然是影响用户体验和搜索引擎排名的关……

    2026年6月18日
    2000
  • Gname域名续费多少钱?域名续费注意事项有哪些

    Gname域名续费价格通常比首年注册价略高,具体费用取决于域名后缀,建议开启自动续费以防域名被抢注,且需注意续费窗口期与域名状态的关系,域名作为互联网的门面,其稳定性直接关系到网站的持续运营,许多站长在初期注册时往往只关注首年优惠,却忽视了续费环节的成本与风险,Gname作为知名的域名注册服务商,其定价策略和续……

    2026年6月24日
    1900
  • win域名是什么意思?win域名注册哪家好

    Win域名即.win顶级域名,它是微软官方推出的通用顶级域名,专为Windows生态开发者、软件企业及科技爱好者设计,目前注册渠道成熟,选择正规国际注册商或国内持牌代理商即可保障权益,在2026年的互联网语境下,域名早已不仅是网址的入口,更是品牌资产的数字身份证,当你看到以.win结尾的网址时,脑海中浮现的应当……

    2026年6月21日
    2200
  • 站长建站如何正确租用网站空间?租用网站空间多少钱一年

    正确租用网站空间的核心在于根据业务规模匹配服务器配置,优先选择国内备案机房以确保访问速度,并重点关注售后响应速度与数据备份机制,很多站长在起步阶段容易陷入一个误区,认为只要价格便宜就是好空间,网站加载速度、稳定性以及后期的扩展能力,直接决定了你的流量留存率和搜索引擎排名,随着2026年百度算法对用户体验权重的进……

    2026年6月18日
    3600
  • 做HTML开发前需要准备什么?前端开发入门必备基础知识

    HTML开发前的核心准备是明确需求、搭建本地环境并掌握基础语义标签,这能直接避免后期重构成本,确保项目高效落地,很多初学者容易陷入一个误区,认为写代码前只需要打开编辑器就开始敲标签,未经规划的开发就像没有图纸的装修,不仅效率低下,还极易导致后期维护困难,在正式编写第一行代码之前,我们需要从思维模式、技术环境、资……

    2026年6月7日
    3600
  • 带宽升级扩容流程是怎样的?企业宽带扩容需要哪些步骤

    带宽升级扩容是企业信息化建设中的关键环节,直接关系到网络性能与业务连续性,核心结论在于:成功的带宽扩容必须遵循“需求评估—方案选型—实施割接—验收优化”的闭环流程,任何环节的疏漏都可能导致成本浪费或业务中断,这一流程不仅涉及技术层面的操作,更需要结合企业实际业务场景进行精细化规划,精准需求评估:扩容的决策基石许……

    2026年3月4日
    11600
  • Web客户端是什么?如何搭建Web客户端

    Web客户端本质上是运行在浏览器中的应用程序,通过HTML、CSS和JavaScript技术栈构建,无需安装即可跨平台访问;搭建核心在于选择合适的前端框架(如Vue或React),配置构建工具(如Vite或Webpack),并部署至Nginx等Web服务器,很多人容易混淆“网站”和“Web客户端”的概念,传统的……

    2026年6月25日
    3000
  • WordPress无法上传图片报错怎么办?上传失败解决方法

    WordPress无法上传图片通常由服务器内存限制、文件权限错误或插件冲突引起,核心解决思路是检查php.ini配置、调整文件夹权限及排查插件兼容性,当你兴致勃勃地编辑文章,点击“添加媒体”后却看到那个令人沮丧的红色报错提示时,这种挫败感非常真实,这不仅仅是技术故障,更是内容创作流程的中断,业内专家指出,超过8……

    2026年6月19日
    4110
  • SimilarWeb怎么优化SEO网站?SimilarWeb免费使用教程

    利用SimilarWeb进行SEO优化与内容营销的核心在于:通过竞品流量来源拆解与用户行为路径分析,精准定位高转化关键词与内容缺口,从而制定数据驱动的流量增长策略,在2026年的搜索引擎生态中,单纯依靠堆砌关键词已无法获得稳定的自然排名,百度算法更加侧重于用户体验、内容深度以及站点的权威性,SimilarWeb……

    2026年6月25日
    2310
  • SSL证书密钥长度如何查看?ssl证书密钥长度怎么看

    查看SSL证书密钥长度的最直接方法是通过浏览器地址栏点击锁形图标,进入“连接安全”详情,或在服务器终端使用OpenSSL命令解析证书文件,通常RSA密钥长度应为2048位或更高,ECC密钥则为256位或更高,在网络安全日益重要的今天,SSL证书不仅是网站可信度的象征,更是数据加密传输的基石,很多站长和技术人员经……

    2026年6月19日
    2300

发表回复

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

评论列表(1条)

  • 唐思睿
    唐思睿 2026年7月9日 22:54

    哈哈,这文章写得挺详细的,不过我有点好奇,为啥不提一下Tomcat的优化配置呢?毕竟对于高并发场景来说,这点很重要啊。