如何在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

相关推荐

  • Cloudflare 错误 520:原因及解决方法

    网站打不开,访客只能看到空白页面,上面写着“错误 520”,而 Cloudflare 只是提示“源服务器返回未知错误”,这种是什么情况呢?我们应该如何解决? 什么是 Cloudfl…

    2026年3月27日
    0
  • 什么是 CSRF 攻击?

    平时登录各类网站后,无需重复输入账号密码就能正常使用,这一便捷体验全都依靠 Cookie 实现。但 Cookie 在提升使用体验的同时,也存在安全漏洞,极易被不法分子利用,冒用用户…

    2026年5月18日
    0
  • DNS 是什么? 为什么网站一定要有 DNS 服务器?

    今天余初云带你一次看懂 DNS 是什么、DNS 如何运作、DNS 服务器种类与必备 DNS 纪录,并教你为什么网站一定要正确设定 DNS,避免网站打不开、无法登入、API 中断等高…

    2026年3月30日
    0
  • 什么是DevOps 安全?

    DevOps 安全是一个结合三个领域的理念:开发、运维和安全。其目标是消除软件开发和IT 运维之间可能存在的任何障碍。 随着代码的编写和应用程序的发展,团队之间持续沟通和协作的价值…

    2026年5月8日
    0
  • MongoDB是什么?优缺点、特点及应用场景一网打尽!

    在数字化时代,数据库扮演着至关重要的角色,无论是个人用户还是企业,都需要具备数据存储、缓存、搜索索引、异步处理以及批量处理等功能。目前存在多种不同的数据库和数据管理系统,其中Mon…

    2026年4月2日
    0
  • 深入掌握Nginx服务器

    本文介绍nginx服务器及其主要特性,首先给出了包管理器安装及编译安装两种方式,然后重点对 nginx 配置文件中的指令及参数进行详细说明,在了解 nginx 的工作方式后,从 n…

    2026年5月8日
    0
  • 如何提高Ubuntu 18.04系统的SSH安全性?

    SSH服务是云服务器的主要访问点,同时也是最容易受到攻击的服务之一。本指南将通过不同的技巧和技术帮助提高服务的安全性。 更改端口 监听SSH连接的默认端口是22,更改此设置将允许将…

    2026年5月20日
    0
  • 常听到的边缘缓存是什么意思?

    简单来说,边缘缓存就是把内容存到离终端用户最近的网络边缘节点上的一种技术。 当用户就近访问这些边缘缓存里的数据时,会比从遥远的地方获取数据高效得多。这种额外的效率,最终能减轻整个网…

    2026年4月22日
    0
  • 什么是 XSS 攻击?一文搞懂跨站脚本攻击与防护方式

    XSS,三个让安全人员头疼的字母。它的全名是 Cross-Site Scripting,中文叫做跨站脚本攻击。你可能会问:“Cross-Site Scripting 的缩写不是应该…

    2026年5月14日
    0
  • 如何在 Linux 服务器上使用 Dokploy 实现项目快速部署

    很多开发者写完应用后都会面临同一个问题:如何把本地代码稳定地上线到服务器。配置 Web 服务器、环境变量、SSL 证书、Docker、CI/CD 等一系列操作,对新手来说既繁琐又容…

    2026年4月21日
    0