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

加载更多搜索结果...

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

如何在 Debian 10 上使用 Nginx 代理安装 Apache Tomcat 9

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

在此页

  1. 先决条件
  2. 开始
  3. 安装Java
  4. 安装Tomcat
  5. 为 Tomcat 创建一个 Systemd 服务文件
  6. 配置 Tomcat Web 界面
  7. 为 Tomcat 配置 Nginx
  8. 访问 Tomcat 网络用户界面
  9. 结论

Tomcat 是一个免费、开源和轻量级的应用程序服务器,用于部署基于 Java 的应用程序。它可以用作独立服务器或与 Apache 和 Nginx 等其他服务器结合使用。它提供了与 Java Servlet 交互的扩展功能,还实现了 Java 平台的多项技术规范。目前,Tomcat 是使用最广泛的 Java 应用服务器之一。

在本教程中,我将向您展示如何在 Debian 10 上安装带有 Nginx 的 Tomcat 9。

先决条件

  • 运行 Debian 10 的服务器。
  • 用您的服务器 IP 指向的有效域名。
  • 在您的服务器上配置了根密码。

入门

在开始之前,最好将 APT 缓存更新到最新版本。您可以通过运行以下命令来更新它:

apt-get update -y

一旦您的系统包缓存是最新的,您就可以继续下一步。

安装Java

Tomcat 是基于 Java 的应用程序,因此必须在您的服务器中安装 Java。如果没有安装,可以使用以下命令安装:

apt-get install default-jdk -y

安装 Java 后,您可以使用以下命令验证 Java 版本:

java --version

您应该得到以下输出:

openjdk 11.0.9.1 2020-11-04
OpenJDK Runtime Environment (build 11.0.9.1+1-post-Debian-1deb10u2)
OpenJDK 64-Bit Server VM (build 11.0.9.1+1-post-Debian-1deb10u2, mixed mode, sharing)

完成后,您可以继续下一步。

安装Tomcat

首先,您需要创建一个专用用户来运行 Tomcat 服务器。您可以使用以下命令创建它:

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

接下来,使用以下命令下载最新版本的 Tomcat:

wget https://www-eu.apache.org/dist/tomcat/tomcat-9/v9.0.45/bin/apache-tomcat-9.0.45.tar.gz

下载完成后,使用以下命令解压缩下载的文件:

tar -xvzf apache-tomcat-9.0.45.tar.gz

接下来,使用以下命令将提取的目录移动到 /opt:

mv apache-tomcat-9.0.45 /opt/tomcat/tomcat

接下来,使用以下命令设置适当的权限和所有权:

chown -R tomcat:tomcat /opt/tomcat/tomcat
chmod -R 755 /opt/tomcat/tomcat

完成后,您可以继续下一步。

为 Tomcat 创建 Systemd 服务文件

接下来,您需要创建一个 systemd 服务文件来管理 Tomcat 服务。您可以使用以下命令创建它:

nano /etc/systemd/system/tomcat.service

添加以下行:

[Unit]
Description=Tomcat 9.0 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/tomcat"
Environment="CATALINA_HOME=/opt/tomcat/tomcat"
Environment="CATALINA_PID=/opt/tomcat/tomcat/temp/tomcat.pid"
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"

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

[Install]
WantedBy=multi-user.target

保存并关闭文件,然后使用以下命令重新加载 systemd 守护进程:

systemctl daemon-reload

接下来,启动 Tomcat 服务并使用以下命令使其在系统重启时启动:

systemctl start tomcat
systemctl enable tomcat

您还可以使用以下命令验证 Tomcat 的状态:

systemctl status tomcat

您应该得到以下输出:

? tomcat.service - Tomcat 9.0 servlet container
   Loaded: loaded (/etc/systemd/system/tomcat.service; disabled; vendor preset: enabled)
   Active: active (running) since Wed 2021-04-14 05:41:21 UTC; 42s ago
  Process: 5784 ExecStart=/opt/tomcat/tomcat/bin/startup.sh (code=exited, status=0/SUCCESS)
 Main PID: 5791 (java)
    Tasks: 30 (limit: 4701)
   Memory: 159.1M
   CGroup: /system.slice/tomcat.service
           ??5791 /usr/lib/jvm/default-java/bin/java -Djava.util.logging.config.file=/opt/tomcat/tomcat/conf/logging.properties -Djava.util.log

Apr 14 05:41:21 debian systemd[1]: Starting Tomcat 9.0 servlet container...
Apr 14 05:41:21 debian startup.sh[5784]: Tomcat started.
Apr 14 05:41:21 debian systemd[1]: Started Tomcat 9.0 servlet container.

完成后,您可以继续下一步。

配置 Tomcat Web 界面

接下来,您需要定义一个用户来访问 Tomcat Web 界面。您可以使用 tomcat-users.xml 文件定义它:

nano /opt/tomcat/tomcat/conf/tomcat-users.xml

找到 部分并添加或修改以下行:

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

完成后保存并关闭文件。

默认情况下,Tomcat Web 界面配置为只能从本地主机访问。所以你需要配置它以供外部访问。

对于 Manager 应用程序,编辑以下行:

nano /opt/tomcat/tomcat/webapps/manager/META-INF/context.xml

对于 Host Manager 应用程序,编辑以下文件:

nano /opt/tomcat/tomcat/webapps/host-manager/META-INF/context.xml

删除以下行:

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

保存并关闭文件,然后重新启动 Tomcat 服务以应用更改:

systemctl restart tomcat

完成后,您可以继续下一步。

为 Tomcat 配置 Nginx

接下来,您需要安装和配置 Nginx 作为 Tomcat 的反向代理。首先,使用以下命令安装 Nginx 包:

apt-get install nginx -y

安装 Nginx 后,您需要为 Tomcat 创建一个新的 Nginx 虚拟主机配置文件。您可以使用以下命令创建它:

nano /etc/nginx/conf.d/tomcat.conf

添加以下行:

server {
  listen          80;
  server_name     tomcat.example.com;
  root            /opt/tomcat/tomcat/webapps/;


  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 是否存在任何语法错误:

nginx -t

您应该看到以下输出:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

接下来,重新启动 Nginx 服务以应用更改:

systemctl restart nginx

接下来,使用以下命令验证 Nginx 服务的状态:

systemctl status nginx

您应该看到以下输出:

? nginx.service - A high performance web server and a reverse proxy server
   Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2021-04-14 05:57:03 UTC; 1min 38s ago
     Docs: man:nginx(8)
  Process: 6852 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
  Process: 6853 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
 Main PID: 6854 (nginx)
    Tasks: 3 (limit: 4701)
   Memory: 4.0M
   CGroup: /system.slice/nginx.service
           ??6854 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
           ??6855 nginx: worker process
           ??6856 nginx: worker process

Apr 14 05:57:03 debian systemd[1]: Starting A high performance web server and a reverse proxy server...
Apr 14 05:57:03 debian systemd[1]: Started A high performance web server and a reverse proxy server.

至此,Nginx 已经配置好可以访问 Tomcat 了。您现在可以继续下一步。

访问 Tomcat 网页界面

现在,打开 Web 浏览器并使用 URL http://tomcat.example.com 访问 Tomcat Web UI。您应该会看到以下页面:

单击 Manager App,您应该会看到以下页面:

提供您的 Manager App 管理员用户名和密码,然后单击“登录”按钮。您应该会看到以下页面:

您也可以点击主机管理器访问主机管理器应用程序,如下所示:

结论

恭喜!您已经在 Debian 10 上成功安装了带有 Nginx 作为反向代理的 Tomcat。您现在可以使用 Tomcat 轻松部署 Java 应用程序。如果您有任何问题,请随时问我。

©2015-2025 Norria support@norria.com