如何在 Ubuntu 18.04 上安装 Tomcat 8.5

2023-11-13

Apache Tomcat 是 Java Servlet、JavaServer Pages、Java 表达式语言和 Java WebSocket 技术的开源实现。它是当今世界上采用最广泛的应用程序和 Web 服务器之一。 Tomcat 使用简单,并且拥有强大的附加组件生态系统。

本教程演示如何在 Ubuntu 18.04 上安装 Tomcat 8.5。相同的说明适用于 Ubuntu 16.04 和任何基于 Ubuntu 的发行版,包括 Linux Mint 和 Elementary OS。

先决条件#

在继续本教程之前,请确保您以以下身份登录具有 sudo 权限的用户 .

安装 OpenJDK#

OpenJDK 是 Java 平台的开源实现,是 Ubuntu 18.04 中默认的 Java 开发和运行时。

安装OpenJDK包非常简单:

sudo apt install default-jdk

创建Tomcat用户#

We will 创建一个新的系统用户并与主目录分组/opt/tomcat这将运行 Tomcat 服务:

sudo useradd -m -U -d /opt/tomcat -s /bin/false tomcat

下载Tomcat#

我们将使用wget and unzip下载并解压 Tomcat 存档。如果你没有unzip and wget安装在您的系统上,使用以下命令安装软件包:

sudo apt install unzip wget

从以下位置下载最新版本的 Tomcat 8.5.xTomcat下载页面。在撰写本文时,最新版本是 8.5.37。在继续下一步之前,您应该检查下载页面是否有新版本。

更改为/tmp目录并下载包含以下内容的 zip 文件wget命令 :

cd /tmpwget http://www-us.apache.org/dist/tomcat/tomcat-8/v8.5.37/bin/apache-tomcat-8.5.37.zip

下载完成后,解压缩文件并将其移至/opt/tomcat目录:

unzip apache-tomcat-*.zipsudo mkdir -p /opt/tomcatsudo mv apache-tomcat-8.5.37 /opt/tomcat/

为了更好地控制版本和更新,我们将创建符号链接 latest这将指向 Tomcat 安装目录:

sudo ln -s /opt/tomcat/apache-tomcat-8.5.37 /opt/tomcat/latest

稍后,如果您想升级 Tomcat 安装,您只需解压较新版本并将符号链接更改为指向最新版本即可。

我们之前设置的tomcat用户需要有tomcat目录的访问权限,所以我们更改目录所有权tomcat 用户和组:

sudo chown -R tomcat: /opt/tomcat

制作里面的脚本bin目录可执行文件,运行以下命令chmod命令:

sudo sh -c 'chmod +x /opt/tomcat/latest/bin/*.sh'

创建一个systemd单元文件#

为了将 Tomcat 作为服务运行,我们将创建一个新的tomcat.service单元文件中的/etc/systemd/system/包含以下内容的目录:

/etc/systemd/system/tomcat.service
[Unit]
Description=Tomcat 8.5 servlet container
After=network.target

[Service]
Type=forking

User=tomcat
Group=tomcat

Environment="JAVA_HOME=/usr/lib/jvm/default-java"
Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom"

Environment="CATALINA_BASE=/opt/tomcat/latest"
Environment="CATALINA_HOME=/opt/tomcat/latest"
Environment="CATALINA_PID=/opt/tomcat/latest/temp/tomcat.pid"
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"

ExecStart=/opt/tomcat/latest/bin/startup.sh
ExecStop=/opt/tomcat/latest/bin/shutdown.sh

[Install]
WantedBy=multi-user.target

通知 systemd 我们创建了一个新的单元文件并通过执行以下命令启动 Tomcat 服务:

sudo systemctl daemon-reloadsudo systemctl start tomcat

您可以使用以下命令检查服务状态:

sudo systemctl status tomcat
● tomcat.service - Tomcat 8.5 servlet container
   Loaded: loaded (/etc/systemd/system/tomcat.service; disabled; vendor preset: enabled)
   Active: active (running) since Sat 2018-05-05 11:04:40 UTC; 5s ago
  Process: 13478 ExecStart=/opt/tomcat/latest/bin/startup.sh (code=exited, status=0/SUCCESS)
 Main PID: 13499 (java)
    Tasks: 45 (limit: 507)
   CGroup: /system.slice/tomcat.service
           └─13499 /usr/lib/jvm/default-java/bin/java -Djava.util.logging.config.file=/opt/tomcat/latest/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.security.

如果没有错误,您可以启用 Tomcat 服务在启动时自动启动:

sudo systemctl enable tomcat

调整防火墙#

如果你的服务器是受防火墙保护如果您想从本地网络外部访问 tomcat 界面,您需要打开端口8080.

允许端口上的流量8080输入以下命令:

sudo ufw allow 8080/tcp
在生产环境中运行 Tomcat 应用程序时,您很可能会有一个负载均衡器或反向代理最佳实践是将端口 8080 的访问仅限于您的内部网络。

配置Tomcat Web管理界面#

现在我们已经在 Ubuntu 服务器上安装了 Tomcat,下一步是创建一个可以访问 Web 管理界面的用户。

Tomcat 用户及其角色定义在tomcat-users.xml file.

如果您打开该文件,您会注意到它充满了描述如何配置该文件的注释和示例。

sudo vim /opt/tomcat/latest/conf/tomcat-users.xml

要添加可以访问 tomcat Web 界面(manager-gui 和 admin-gui)的新用户,我们需要在tomcat-users.xml文件如下图所示。确保将用户名和密码更改为更安全的内容:

/opt/tomcat/latest/conf/tomcat-users.xml
<tomcat-users>
<!--
    Comments
-->
   <role rolename="admin-gui"/>
   <role rolename="manager-gui"/>
   <user username="admin" password="admin_password" roles="admin-gui,manager-gui"/>
</tomcat-users>

默认情况下,Tomcat Web 管理界面配置为仅允许从本地主机访问,如果您希望能够从远程 IP 或任何不推荐的地方访问 Web 界面,因为存在安全风险,您可以打开以下文件并进行以下更改。

如果您需要从任何地方访问 Web 界面,请打开以下文件并注释或删除以黄色突出显示的行:

/opt/tomcat/latest/webapps/manager/META-INF/context.xml
<Context antiResourceLocking="false" privileged="true" >
<!--
  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
-->
</Context>
/opt/tomcat/latest/webapps/host-manager/META-INF/context.xml
<Context antiResourceLocking="false" privileged="true" >
<!--
  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
-->
</Context>

如果您只需要从特定 IP 访问 Web 界面,请将您的公共 IP 添加到列表中,而不是注释这些块。 假设您的公共 IP 是32.32.32.32并且您只想允许来自该 IP 的访问:

/opt/tomcat/latest/webapps/manager/META-INF/context.xml
<Context antiResourceLocking="false" privileged="true" >
  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|32.32.32.32" />
</Context>
/opt/tomcat/latest/webapps/host-manager/META-INF/context.xml
<Context antiResourceLocking="false" privileged="true" >
  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|32.32.32.32" />
</Context>

允许的 IP 地址列表是用竖线分隔的列表|。您可以添加单个 IP 地址或使用正则表达式。

重新启动 Tomcat 服务以使更改生效:

sudo systemctl restart tomcat

测试安装#

打开浏览器并输入:http://<your_domain_or_IP_address>:8080

假设安装成功,将出现类似以下的屏幕:

Tomcat Web 应用程序管理器仪表板位于http://<your_domain_or_IP_address>:8080/manager/html。从这里,您可以部署、取消部署、启动、停止和重新加载应用程序。

Tomcat 虚拟主机管理器仪表板位于http://<your_domain_or_IP_address>:8080/host-manager/html。从这里,您可以创建、删除和管理 Tomcat 虚拟主机。

结论#

您已在 Ubuntu 18.04 系统上成功安装 Tomcat 8.5。您现在可以访问官方Apache Tomcat 8 文档并了解有关 Apache Tomcat 功能的更多信息。

如果您遇到问题或有反馈,请在下面发表评论。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Ubuntu 18.04 上安装 Tomcat 8.5 的相关文章

随机推荐

  • 如何在 CentOS 上启用 EPEL 存储库

    EPEL Extra Packages for Enterprise Linux 存储库提供了标准 Red Hat 和 CentOS 存储库中未包含的附加软件包 创建 EPEL 存储库是因为 Fedora 贡献者希望使用他们在 Red Ha
  • Linux 中的 who 命令

    在这篇文章中 我们解释了who捆绑在 GNU coreutils 包中的命令 who是一个命令行实用程序 用于打印当前登录用户的列表 它还可以显示当前的运行级别 上次系统启动的时间等 如何使用who命令 的基本语法为who命令如下 who
  • 如何在 Linux 中截断(空)文件

    在某些情况下 您可能希望将现有文件截断 清空 至零长度 简单来说 截断文件就是删除文件内容而不删除文件 截断文件比截断文件更快更容易删除文件 重新创造它 并设置正确的权限和所有权 此外 如果该文件由进程打开 则删除该文件可能会导致使用该文件
  • 如何在 CentOS 8 上安装 PostgreSQL

    PostgreSQL 或 Postgres 是一种开源通用对象关系数据库管理系统 具有许多高级功能 允许您构建容错环境或复杂的应用程序 在本指南中 我们将讨论如何在 CentOS 8 上安装 PostgreSQL 数据库服务器 在选择安装哪
  • 如何在 Ubuntu 18.04 上安装 Pip

    Pip 是一个包管理系统 可简化用 Python 编写的软件包 例如 Python 包索引 PyPI 中的软件包 的安装和管理 Ubuntu 18 04 上默认不安装 Pip 但安装非常简单 在本教程中 我们将向您展示如何使用 Ubuntu
  • 如何在 Debian 9 上安装 Go

    Go 是 Google 创建的一种现代开源编程语言 用于构建可靠 简单 快速 高效的软件 许多流行的应用程序 包括 Kubernetes Docker Teraform 和 Grafana 都是用 Go 编写的 在本教程中 我们将引导您完成
  • 如何在 Ubuntu 20.04 上安装 Sublime Text 3

    崇高的文字是用于网络和软件开发的流行文本和源代码编辑器 它速度非常快 并且具有许多开箱即用的强大功能 可以通过安装新插件和创建自定义设置来增强和自定义该应用程序 本文介绍如何在 Ubuntu 20 04 上安装 Sublime Text 3
  • 如何在 Ubuntu 20.04 上安装 Chromium Web 浏览器

    Chromium是一款专为现代网络打造的快速 稳定且安全的浏览器 它是许多浏览器的基础 包括世界上最流行的网络浏览器谷歌浏览器 Chromium 和 Chrome 之间的主要区别在于 Chromium 是开源的 Chromium 不包含专有
  • 如何在 Debian 10 Linux 上安装 Git

    Git 是世界上最流行的分布式版本控制系统 被许多开源和商业项目使用 使用 Git 您可以与其他开发人员协作处理项目 跟踪代码更改 恢复到之前的阶段 创建分支等等 它最初是由莱纳斯 托瓦尔兹Linux内核的创建者 本教程介绍如何在 Debi
  • 如何在 CentOS 7 上安装和配置 Nagios

    Nagios 是最流行的开源监控系统之一 Nagios 保留整个 IT 基础设施的清单 并确保您的网络 服务器 应用程序 服务和流程正常运行 如果发生故障或性能不佳 Nagios 将通过各种方法发送通知警报 本教程介绍如何在 CentOS
  • 如何在 Ubuntu 18.04 上安装 Odoo 13

    Odoo 是一款流行的开源商业应用程序套件 它提供一系列应用程序 包括 CRM 电子商务 网站构建器 计费 会计 制造 仓库 项目管理 库存等等 所有这些都无缝集成 Odoo根据使用案例和可用技术 可以通过多种方式安装 安装 Odoo 最简
  • 如何在 Ubuntu 18.04 上安装和配置 Squid 代理

    Squid 是一个功能齐全的缓存代理 支持流行的网络协议 如 HTTP HTTPS FTP 等 Squid 主要用于通过缓存重复请求 过滤 Web 流量和访问地理限制内容来提高 Web 服务器的性能 本教程将引导您完成在 Ubuntu 18
  • 如何在 Ubuntu 20.04 上安装 Node.js 和 npm

    Node js 是一个基于 Chrome 的 JavaScript 构建的跨平台 JavaScript 运行时环境 旨在在服务器端执行 JavaScript 代码 它通常用于构建后端应用程序 但它也作为全栈和前端解决方案而流行 npm 是
  • 如何在 Ubuntu 20.04 上安装 Gitea

    Gitea 是一个用 Go 编写的快速且易于使用的自托管 git 服务器 它包括存储库文件编辑器 项目问题跟踪 用户管理 通知 内置 wiki 等等 Gitea是一个轻量级应用程序 可以安装在低功耗系统上 如果您正在寻找内存占用小得多的 G
  • 如何在 CentOS 8 上安装 MariaDB

    MariaDB 是一个开源关系数据库管理系统 向后兼容 是 MySQL 的二进制直接替代品 它是由 MySQL 的一些原始开发人员和社区中的许多人开发的 在本教程中 我们将解释如何在 CentOS 8 上安装和保护 MariaDB 10 3
  • 如何在 Debian 9 上安装 Memcached

    Memcached 是一个免费开源的高性能内存键值数据存储 它主要用于通过缓存数据库调用结果中的各种对象来加速应用程序 在本教程中 我们将引导您完成在 Debian 9 上安装和配置 Memcached 先决条件 您需要以以下身份登录具有
  • 如何在 Ubuntu 20.04 上安装和配置 Squid 代理

    Squid 是一个功能齐全的缓存代理 支持流行的网络协议 如 HTTP HTTPS FTP 等 它可用于通过缓存重复请求 过滤 Web 流量和访问地理限制内容来提高 Web 服务器的性能 本教程介绍如何在 Ubuntu 20 04 上设置
  • Linux 中的最后一个命令

    如果您正在管理多用户系统 您通常需要知道谁 何时 从何处登录到计算机 last是一个命令行实用程序 显示有关系统用户上次登录会话的信息 当您需要跟踪用户活动或调查可能的安全漏洞时 它非常有用 本文介绍了如何使用以下方式审核登录系统的人员 l
  • 在 CentOS 8 上安装 Odoo 13

    Odoo 是世界上最受欢迎的一体化商业软件 它提供一系列业务应用程序 包括 CRM 网站 电子商务 计费 会计 制造 仓库 项目管理 库存等等 全部无缝集成 本教程介绍了如何安装Odoo13 来自 CentOS 8 计算机上的 Python
  • 如何在 Ubuntu 18.04 上安装 Tomcat 8.5

    Apache Tomcat 是 Java Servlet JavaServer Pages Java 表达式语言和 Java WebSocket 技术的开源实现 它是当今世界上采用最广泛的应用程序和 Web 服务器之一 Tomcat 使用简