网站搜索

如何在 RHEL 8 中安装 Apache Tomcat


Apache Tomcat 是一个开源、轻量级、功能强大且广泛使用的 Web 服务器,由 Apache 基金会开发和维护。它是 Java ServletJavaServer Pages (JSP)Java 表达式语言 (EL)Java WebSocket 的实现技术,并提供纯Java HTTP服务器来运行基于Java Web的应用程序。

本文将引导您完成 Apache Tomcat 9 的安装和配置,并在 RHEL 8 Linux 上远程访问 Web 界面。

如果您希望在 RHEL/CentOS 7 上安装 Tomcat,请按照本文在 RHEL/CentOS 7 上安装 Apache Tomcat。

步骤 1:在 RHEL 8 上安装 Java

要在 RHEL 8 上安装 Java,首先,更新系统软件包并安装默认可用版本的 Java 8Java 11< 使用以下 dnf 命令,如图所示。

dnf update
dnf install java-1.8.0-openjdk-devel  	#install JDK 8
OR
dnf install java-11-openjdk-devel		#install JDK 11

安装完成后,您可以使用以下命令验证系统上安装的 Java 版本。

java -version
样本输出
openjdk version "1.8.0_222"
OpenJDK Runtime Environment (build 1.8.0_222-b10)
OpenJDK 64-Bit Server VM (build 25.222-b10, mixed mode)

步骤 2:在 RHEL 8 上安装 Apache Tomcat

在系统上安装了 JAVA 后,现在就可以下载最新版本的 Apache Tomcat(即 9.0.24)了。在撰写本文时最新的稳定版本。

如果您想验证版本,请访问官方 Apache 下载页面并检查是否有更新的版本可供下载。

  1. https://tomcat.apache.org/download-90.cgi

或者,您可以使用以下 wget 命令下载最新版本的 Apache Tomcat 并按所示进行设置。

cd /usr/local
wget http://www-us.apache.org/dist/tomcat/tomcat-9/v9.0.24/bin/apache-tomcat-9.0.24.tar.gz
tar -xvf apache-tomcat-9.0.24.tar.gz
mv apache-tomcat-9.0.24 tomcat9

注意:如果有更新的 Apache Tomcat 版本可用,请确保将上面的版本号替换为最新版本。

Apache Tomcat 服务器现已部署在 /usr/local/tomcat9 目录中,您可以通过运行 pwd 命令验证内容并列出目录内容。

pwd tomcat9/
ls -l tomcat9/

以下是Apache Tomcat安装目录下各子目录的说明。

  • bin – 包含可执行文件。
  • conf – 包含配置文件。
  • lib – 存储库文件。
  • log – 存储日志文件。
  • temp – 包含临时文件。
  • webaaps – 存储网络应用程序文件。

步骤 3:在 RHEL 8 中的 Systemd 下运行 Apache Tomcat

要轻松管理 Apache Tomcat 守护进程,您需要将其作为 systemd(系统和服务管理器)下的服务运行。该服务将使用名为 tomcat 的系统用户的权限运行,您需要使用 useradd 命令创建它。

useradd -r tomcat

创建 tomcat 用户后,使用以下 chown 命令为其授予 Tomcat 安装目录及其所有内容的权限和所有权。

chown -R tomcat:tomcat /usr/local/tomcat9
ls -l /usr/local/tomcat9

接下来,使用您喜欢的文本编辑器在 /etc/systemd/system/ 目录下创建一个 tomcat.service 单元文件。

vi /etc/systemd/system/tomcat.service

将以下配置复制并粘贴到 tomcat.service 文件中。

[Unit]
Description=Apache Tomcat Server
After=syslog.target network.target

[Service]
Type=forking
User=tomcat
Group=tomcat

Environment=CATALINA_PID=/usr/local/tomcat9/temp/tomcat.pid
Environment=CATALINA_HOME=/usr/local/tomcat9
Environment=CATALINA_BASE=/usr/local/tomcat9

ExecStart=/usr/local/tomcat9/bin/catalina.sh start
ExecStop=/usr/local/tomcat9/bin/catalina.sh stop

RestartSec=10
Restart=always
[Install]
WantedBy=multi-user.target

使用以下命令保存文件重新加载 systemd 配置以应用最近的更改。

systemctl daemon-reload

然后启动tomcat服务,使其在系统启动时自动启动,并使用以下命令检查状态。

systemctl start tomcat.service
systemctl enable tomcat.service
systemctl status tomcat.service

Tomcat 分别使用端口 80808443 来处理 HTTPHTTPS 请求。您还可以使用 netstat 命令检查系统上所有侦听端口中的 HTTP 端口,以确认守护程序已启动并正在侦听。

netstat -tlpn

如果您正在运行firewalld 服务,则必须使用所示的firewall-cmd 命令打开端口80808443,然后才能访问Tomcat 的Web 界面。

firewall-cmd --zone=public --permanent --add-port=8080/tcp
firewall-cmd --zone=public --permanent --add-port=8443/tcp
firewall-cmd --reload

步骤 4:访问 Apache Tomcat Web 界面

现在您已经安装、配置并启动 Tomcat 作为服务,并允许通过防火墙向守护进程发出请求,您可以通过尝试使用 URL 访问 Web 界面来测试安装。

http://localhost:8080
OR
http://SERVER_IP:8080

当您看到屏幕截图中显示的页面时,您已成功安装 Tomcat

Tomcat 包括一个名为 Manager 的 Web 应用程序,用于从 WAR 文件的上传内容部署新的 Web 应用程序、部署新的 Web 应用程序、列出当前部署的 Web 应用程序以及这些 Web 应用程序当前处于活动状态的会话等等。

它还提供了一个主机管理器应用程序,用于管理(创建、删除等)Tomcat内的虚拟主机。

步骤 5:为 Tomcat Manager 和 Host Manager 启用 HTTP 身份验证

为了确保在生产环境中限制对 ManagerHost Manager 应用程序的访问,您需要在 /usr/local/tomcat9/conf 中配置基本 HTTP 身份验证/tomcat-users.xml 配置文件。

vi /usr/local/tomcat9/conf/tomcat-users.xml

将以下配置复制并粘贴到 标记中,如屏幕截图所示。此配置将 admin-guimanager-gui 角色添加到名为 “admin ” 且密码为 “tomhost@”的用户80”。

<role rolename="admin-gui,manager-gui"/> 
<user username="admin" password="tomhost@80" roles="admin-gui,manager-gui"/>

保存文件中的更改并退出。

第 6 步:启用对 Tomcat 管理器和主机管理器的远程访问

默认情况下,对 ManagerHost Manager 应用程序的访问仅限于 localhost,即 Tomcat 所在的服务器已安装并正在运行。但您可以启用对特定 IP 地址或网络(例如 LAN)的远程访问。

要启用对 Manager 应用程序的远程访问,请打开并编辑配置文件 /opt/apache-tomcat-9.0.24/webapps/host-manager/META-INF/context.xml

vi /usr/local/tomcat9/webapps/manager/META-INF/context.xml

然后查找以下行。

allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />

将其更改为此以允许从 IP 地址 192.168.56.10 访问 tomcat。

allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1 |192.168.56.10" />

您还可以允许从本地网络 192.168.56.0 访问 tomcat。

allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1 |192.168.56.*" />

或允许从任何主机或网络访问 tomcat。

allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1 |.*" />

然后保存文件中的更改并关闭它。

同样,在文件 /usr/local/tomcat9/webapps/host-manager/META-INF/context.xml 中启用对 Host Manager 应用程序的远程访问,如上所示。

接下来,重新启动 tomcat 服务以应用最近的更改。

systemctl restart tomcat.service

第 7 步:访问 Tomcat Manager Web 应用程序

要访问 Tomcat Manager Web 应用程序,您可以单击屏幕截图中所示的链接或使用 URL。

http://localhost:8080/manager
OR
http://SERVER_IP:8080/manager

系统将要求您进行身份验证:输入您之前创建的用户名和密码以登录管理器应用程序,如屏幕截图所示。

以下屏幕截图显示了管理器应用程序 HTML 界面,您可以在其中从上传的 WAR 文件内容部署新的 Web 应用程序、部署新的 Web 应用程序或列出现有应用程序以及执行更多操作。

第 8 步:访问 Tomcat Host Manager Web 应用程序

要访问主机管理器,请访问以下任一 URL。

http://localhost:8080/host-manager
OR
http://SERVER_IP:8080/host-manager

恭喜!您已在 RHEL 8 服务器上成功安装并配置了 Apache Tomcat。有关更多信息,请参阅 Apache Tomcat 9.0 文档。


版权所有。 © Linux-Console.net • 2019-2024