如何在 Debian 12 上使用 Nginx 反向代理安装 Apache Tomcat 10如何在 Debian 12 上使用 Nginx 反向代理安装 Apache Tomcat 10如何在 Debian 12 上使用 Nginx 反向代理安装 Apache Tomcat 10如何在 Debian 12 上使用 Nginx 反向代理安装 Apache Tomcat 10
  • 业务
  • 目标
  • 支持
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容

如何在 Debian 12 上使用 Nginx 反向代理安装 Apache Tomcat 10

发表 admin at 2025年2月28日
类别
  • 未分类
标签

Apache Tomcat 或“Tomcat”是一个用于 Java 代码和应用程序的免费开源 Java Servlet 容器。它提供了一个可以运行Java代码的“纯Java”HTTP服务器环境。 Tomcat 还实现了 JavaServer Pages、Java 表达式语言和 WebSocket 技术。

在本指南中,我们将向您展示如何在 Debian 12 服务器上安装 Apache Tomcat 10。您还将了解如何将 Nginx 设置为 Apache Tomcat 的反向代理。

先决条件

首先,请确保您具备以下条件:

  • Debian 12 服务器。
  • 具有管理员权限的非 root 用户。

安装 Java OpenJDK

Apache Tomcat 主要是用 Java 编写的,因此在安装它之前,您必须在系统上安装 Java。在此示例中,您将安装 Java OpenJDK 17,默认情况下,Debian 存储库上提供该版本。

在开始安装 Java 之前,请使用以下命令更新并刷新 Debian 存储库。

sudo apt update

现在使用以下命令将 Java OpenJDK 包安装到 Debian 服务器。 default-jdk 包指的是 Java OpenJDK 17,它是 Java 的 LTS 版本。

sudo apt install default-jdk

输入 y 确认安装。

安装 Java 后,运行以下命令来验证您的 Java 版本。您将看到 Java OpenJDK 17 已安装。

java --version

通过存储库安装 Apache Tomcat

默认情况下,最新的 Debian 12 存储库提供 Apache Tomcat 10。如果您需要通过 APT 安装 Apache Tomcat,那么此方法适合您。

首先,使用以下命令检查 tomcat10 软件包。

sudo apt info tomcat10

在以下输出中,您可以看到 Apache Tomcat 10 在主 Debian 存储库的 java 部分中可用。

如果您想通过 APT 安装 Tomcat,请在您的系统上运行以下命令。输入 y 确认安装。

sudo apt install tomcat10 tomcat10-common tomcat10-admin tomcat10-user tomcat10-examples

安装完成后,tomcat10 服务应该正在运行。使用下面的命令验证它。

sudo systemctl is-enabled tomcat10
sudo systemctl status tomcat10

如果 tomcat10 服务正在运行,您应该得到以下输出:

最后,打开Web浏览器并访问默认Tomcat端口8080的服务器IP地址http://192.168.5.15:8080/。如果安装成功,您应该会获得 Apache Tomcat 10 的默认索引页。

通过二进制安装 Tomcat

现在如果你想安装Apache Tomcat的最新包,你可以通过二进制包来安装。在本节中,您将学习如何在 Debian 服务器上执行此操作。

首先,使用以下命令创建一个新的系统用户 tomcat。

sudo useradd -m -u -d /opt/tomcat -s /usr/sbin/nologin tomcat

访问 Apache Tomcat 下载页面并检查 Tomcat 的最新版本。然后运行以下命令下载最新的 Apache Tomcat 版本。

export VERSION=10.1.19
wget https://www-eu.apache.org/dist/tomcat/tomcat-10/v${VERSION}/bin/apache-tomcat-${VERSION}.tar.gz

下载后,运行以下命令创建新的 Apache Tomcat 安装目录 /opt/tomcat 并将 Tomcat 二进制包解压到其中。

mkdir -p /opt/tomcat
sudo tar -xf apache-tomcat-${VERSION}.tar.gz -C /opt/tomcat

现在,将提取的 Tomcat 目录创建一个新的符号链接到 /opt/tomcat/latest。然后,将 /opt/tomcat 目录的所有权更改为 tomcat 用户。

sudo ln -s /opt/tomcat/apache-tomcat-${VERSION} /opt/tomcat/latest
sudo chown -R tomcat:tomcat /opt/tomcat

接下来,使用 nano 编辑器创建一个新的 systemd 服务文件 /etc/systemd/system/tomcat.service。

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

粘贴以下配置以设置 Apache Tomcat 的服务文件。

[Unit]
Description=Tomcat 10 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 -Djava.awt.headless=true"
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-reload
sudo systemctl start tomcat
sudo systemctl enable tomcat

启动后,使用以下命令验证 tomcat 服务。确保您的 Tomcat 服务正在运行,如下所示。

sudo systemctl status tomcat

最后,打开网络浏览器并访问http://192.168.5.15:8080/。如果一切顺利,您应该会看到 Apache Tomcat 索引页。

创建Tomcat管理员

至此,您已经在 Debian 服务器上安装了 Apache Tomcat。在下一步中,您将为 Apache Tomcat 设置身份验证并启用 Tomcat 管理器和主机管理器。

首先,使用以下 Nano 编辑器编辑 Tomcat 配置文件 /etc/tomcat10/tomcat-users.xml。

sudo nano /etc/tomcat10/tomcat-users.xml

在“tomcat-users”部分之间插入下面的行。确保使用您的凭据更改默认用户名 admin 和密码 tomcatadmin。

<tomcat-users>
<!--
user: admin pass: tomcatadmin
-->
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<role rolename="admin-gui"/>
<role rolename="admin-script"/>
<user username="admin" password="tomcatadmin" roles="manager-gui, manager-script, manager-jmx, manager-status, admin-gui, admin-script"/>
</tomcat-users>

保存并退出文件。

现在,使用 nano 编辑器打开 Tomcat 管理器和主机管理器的配置文件。

sudo nano /usr/share/tomcat10-admin/host-manager/META-INF/context.xml
sudo nano /usr/share/tomcat10-admin/manager/META-INF/context.xml

注释行'以允许访问Tomcat管理器和主机管理器。通过添加'',配置将被禁用或注释。

<!--
 <Valve className="org.apache.catalina.valves.RemoteAddrValve"
 allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
-->

保存文件并退出编辑器。

接下来,使用以下命令重新启动 tomcat 服务以应用新的 Tomcat 配置。

sudo systemctl restart tomcat

最后,访问 http://192.168.5.15:8080/manager 访问 Tomcat 管理器,访问 http://192.168.5.15:8080/host-manager 访问 Tomcat 主机管理器。出现提示时输入您的管理员用户和密码,然后单击“登录”。

如果成功,您应该会看到 Apache Tomcat 管理器仪表板。

对于 Tomcat 主机管理器,如下所示:

将 Nginx 配置为反向代理

在本指南中,您将使用 Nginx 作为反向代理来运行 Apache Tomcat。在本部分中,您将安装 nginx 并设置服务器块配置作为在端口 8080 上运行的 Tomcat 的反向代理。

运行以下命令将 Nginx 安装到您的系统。输入 y 确认安装。

sudo apt install nginx

安装完成后,使用 Nano 编辑器创建新的服务器块配置 /etc/nginx/sites-available/tomcat.conf。

sudo nano /etc/nginx/sites-available/tomcat.conf

添加以下配置以将 Nginx 设置为 Apache Tomcat 的反向代理。

server {
listen 80;
server_name tomcat.hwdomain.io;
access_log /var/log/nginx/tomcat-access.log;
error_log /var/log/nginx/tomcat-error.log;
location / {
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:8080/;
}
}

完成后保存并退出文件。

现在,激活服务器块配置并验证您的 Nginx 语法。如果一切顺利,您应该得到诸如“测试成功 - 语法正确”之类的输出。

sudo ln -s /etc/nginx/sites-available/tomcat.conf /etc/nginx/sites-enabled/
sudo nginx -t

接下来,重新启动 Nginx 服务以应用新的更改并验证它以确保该服务正在运行。

sudo systemctl restart nginx
sudo systemctl status nginx

如果 Nginx 正在运行,您应该得到以下输出:

最后,返回您的网络浏览器并访问 http://tomcat.hwdomain.io/。您应该看到 Apache Tomcat 的默认索引页面。

结论

恭喜!您现在已经在 Debian 12 服务器上安装了 Apache Tomcat 10。您已经了解了两种安装 Apache Tomcat 的方法:通过 APT 存储库和通过二进制包手动安装。最后,您还学习了如何将 Nginx 设置为 Tomcat 安装的反向代理。

©2015-2025 Norria support@alaica.com