如何在Ubuntu 18.04操作系统上安装Apache Tomcat?

Apache Tomcat是一个基于Java技术的web服务器,用于管理web应用程序。在本教程中,您将学习在Linux Ubuntu 18.04上安装Tomcat的所有必要说明。

首先,通过SSH连接到服务器。如果尚未连接,您可以参考我们指南中相关的内容来完成连接SSH。如果是本地服务器,则进入下一步,打开服务器的终端。

安装Java

使用下面的命令检查系统是否已经安装Java:

$ java -version

如果已安装Java,执行下一步。否则,请先完成安装。 更新apt存储库,然后继续安装Java Development Kit:

$ sudo apt-get update && sudo apt-get install default-jdk

安装Tomcat

创建将启动Tomcat服务的新用户和新组。
创建tomcat组:

$ sudo groupadd tomcat

并创建相关用户”tomcat”,出于安全原因,该用户不能访问终端:

$ sudo useradd -s /bin/false -g tomcat -d /usr/local/tomcat tomcat

创建了用户和组之后,就可以开始实际Tomcat。
进入/usr/local目录:

$ cd /usr/local

访问https://tomcat.apache.org/download-90.cgi以确保您下载最新版本的Tomcat。目前为止,最新发布的版本是9.0.30。下载软件包:

$ wget http://it.apache.contactlab.it/tomcat/tomcat-9/v9.0.30/bin/apache-tomcat-9.0.30.tar.gz

解压文件,并将刚刚压缩文件夹名改为“tomcat”:

$ tar xzvf apache-tomcat-9.0.30.tar.gz && mv apache-tomcat-9.0.30 tomcat

继续为用户和前面创建的“tomcat”组配置上述文件夹的权限:

$ sudo chgrp -R tomcat tomcat

$ sudo chmod -R g+r tomcat/conf

$ sudo chmod g+x tomcat/conf

$ sudo chown -R tomcat tomcat/work/ tomcat/logs/ tomcat/webapps/ tomcat/temp/

这样即完成Tomcat的安装,之后需要创建服务来启动。首先,标记对应Java安装的路径,你可以用命令获得。

$ update-java-alternatives -l

创建服务所需的Java安装路径将被打印出来。
在 / etc / systemd / system / 目录下创建 tomcat.service 文件

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

以下内容必须包含在文件中,并且必须在指定位置仔细替换之前安装的Java路径。

[Unit]

Description=Apache Tomcat

After=network.target
[Service]

Type=forking
Environment=JAVA_HOME=PERCORSO_JAVA

Environment=CATALINA_PID=/usr/local/tomcat/temp/tomcat.pid

Environment=CATALINA_HOME=/usr/local/tomcat

Environment=CATALINA_BASE=/usr/local/tomcat

Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'

Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'
ExecStart=/usr/local/tomcat/bin/startup.sh

ExecStop=/usr/local/tomcat/bin/shutdown.sh
User=tomcat

Group=tomcat

UMask=0007

RestartSec=10

Restart=always
[Install]

WantedBy=multi-user.target
For example in this case the file will have the following content:
[Unit]

Description=Apache Tomcat

After=network.target
[Service]

Type=forking
Environment=JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64

Environment=CATALINA_PID=/usr/local/tomcat/temp/tomcat.pid

Environment=CATALINA_HOME=/usr/local/tomcat

Environment=CATALINA_BASE=/usr/local/tomcat

Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'

Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'
ExecStart=/usr/local/tomcat/bin/startup.sh

ExecStop=/usr/local/tomcat/bin/shutdown.sh
User=tomcat

Group=tomcat

UMask=0007

RestartSec=10

Restart=always
[Install]

WantedBy=multi-user.target

防火墙

如果系统已有防火墙,则允许传输到默认的Tomcat端口或8080。输入以下命令:

$ ufw allow 8080

启动Tomcat结束安装:

$ sudo systemctl daemon-reload && sudo systemctl start tomcat

使用命令查看服务状态:

$ sudo systemctl status tomcat

如果状态为活跃,访问http://< server . ip >:8080,或者本地服务器http://localhost:8080。

此时可以看到Tomcat欢迎页面,即说明安装成功。

自动启动

要在系统启动时自动启动Tomcat服务,可使用该命令:

$ sudo systemctl enable tomcat

管理界面

要使用Tomcat管理界面,首先需要配置用于登录的用户数据。
打开Tomcat conf文件夹下的Tomcat -users.xml文件:

$ sudo nano /usr/local/tomcat/conf/tomcat-users.xml

然后在结束标记之前添加:

<user username="MYUSER" password="MYPASSWORD" roles="manager-gui,admin-gui"/>

将MYUSER和MYPASSWORD替换为您想要使用的身份验证数据:

<user user username="ADMIN" password="ARUBA123" roles="manager-gui,admin-gui"/>

此时,将用户配置为访问管理界面。
如果在远程服务器上安装tomcat来从浏览器访问管理界面,还需要禁用一些安全限制:打开context.xml文件:

$ sudo nano /usr/local/tomcat/webapps/manager/META-INF/context.xml

并将其内容改为:

<Context antiResourceLocking="false" privileged="true" >
</Context>

保存后关闭。

最后,请重启Tomcat服务:

$ sudo systemctl restart tomcat

访问http://< server . ip >:8080/manager/html,如果是本地服务器,则访问http://localhost:8080/manager/html。通过输入前面设置的凭证,访问Tomcat管理控制台。

完成Tomcat配置。

原创文章,作者:余初云,如若转载,请注明出处:https://blog.jidcy.com/jsjc/2653.html

Like (0)
Previous 2026年5月12日 上午11:20
Next 2026年5月13日 上午10:06

相关推荐

  • 什么是云存储(Cloud Storage)?为您全面解析企业云存储类型!

    随着企业数字化转型的普及,企业对数据存储的需求日益增长,而传统的本地存储方式已无法满足弹性与安全性的要求,云存储(Cloud Storage)已成为现代企业的最佳选择。 然而,市面…

    2026年4月3日
    0
  • 理解带宽、延迟和流量

    在线观看电影、参加视频通话或部署云应用时,有三个无形因素决定了体验的流畅程度:带宽、延迟和流量。这些术语经常被混淆,但它们描述的是网络性能的不同方面。 带宽:定义与实际意义 带宽定…

    2026年4月17日
    0
  • 拒绝服务攻击 DoS 与 DDoS 解析

    在网络安全领域,DoS 和 DDoS 是两类高频且危害显著的攻击方式,二者核心目的都是让目标网络或服务器无法正常提供服务,但攻击模式、破坏力和应对难度截然不同。 DoS,即拒绝服务…

    2026年5月18日
    0
  • HTTPS靠什么保障通信安全?

    大多数人都听说过HTTPS,也清楚它的作用是保障通信安全,但如果没仔细研究过,大概率说不清它到底是怎么做到的。 这篇文章围绕三个核心问题展开: 1、HTTPS到底是什么? 2、它跟…

    2026年6月11日
    0
  • 什么是数字证书?其含义、类型和重要性

    什么是数字证书? 数字证书是一种数字文档,用于证明用于加密在线资产(例如电子邮件通信、文档、网站或软件应用程序)的公钥的真实性。 数字证书,也称为身份证书或公钥证书,是一种利用公钥…

    2026年4月27日
    0
  • 网络图片侵权被告?赔偿标准是多少

    为网络的开放特性与便利性,使得网络上非常容易出现图片侵权状况,大量图片版权拥有者在毫不知情的状态下被他人直接使用自己创作或拍摄的图片,当察觉自身权益遭到侵害时,无论对方是有意还是无…

    2026年6月4日
    0
  • 网页篡改如何处置?

    “不明攻何谈防”是网络安全领域的经典说法。其延伸含义是:倘若不了解网络攻击的来源,那么也就难以有效地实施主动防御。由于黑客的攻击手法千变万化,因此对攻击技术…

    2026年6月9日
    0
  • WAF防火墙的作用

    随着WEB应用的广泛普及,WEB服务器凭借其强大的运算能力、处理性能以及所承载的较高价值,逐步成为主要的攻击目标。SQL注入、页面篡改、网页挂马等安全事件屡见不鲜。传统防火墙难以对…

    2026年6月5日
    0
  • 什么是会话固定攻击(Session Fixation)?

    你知道吗?登录网站时,网站是怎么记住你身份的?答案就是会话(Session)。 可以把 Session 想象成住酒店拿到的房卡。拿着这张卡,酒店就知道你是哪个房间的客人,能进出房间…

    2026年5月18日
    0
  • IPv4与IPv6:互联网网络层协议的演进与迁移路径

    众所周知,Internet是当前全球规模最大、影响力最广的计算机网络,其网络层作为核心支撑部分,主要涵盖了网际协议(IP)、路由协议以及互联网控制报文协议(ICMP)等关键内容。 …

    2026年4月23日
    0