如何在 Debian 10 上使用 Nginx 作为反向代理安装 WildFly如何在 Debian 10 上使用 Nginx 作为反向代理安装 WildFly如何在 Debian 10 上使用 Nginx 作为反向代理安装 WildFly如何在 Debian 10 上使用 Nginx 作为反向代理安装 WildFly
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何在 Debian 10 上使用 Nginx 作为反向代理安装 WildFly

本教程适用于这些操作系统版本

  • Debian 11(Bullseye)
  • Debian 10(Buster)

在此页

  1. 要求
  2. 开始
  3. 安装Java
  4. 安装 Wildfly
  5. 配置 Wildfly
  6. 配置 WildFly 身份验证
  7. 将 WildFly 配置为可从远程系统访问
  8. 访问 Wildfly
  9. 将 Nginx 配置为 Wildfly 的反向代理

WildFly 是由 Red Hat 开发并用 Java 编写的免费、开源和跨平台应用程序运行时,允许您从单个 IDE 开发出色的应用程序。它轻巧、快速、灵活并且基于可插拔子系统。它运行在Windows和Linux操作系统上,旨在为用户提供一个快速稳定的Java运行环境。 Wildfly 具有一组丰富的功能,包括快速、可定制的运行时、可扩展性、统一配置和管理、并发加载、快速链接、域管理等等。

在本教程中,我们将向您展示在 Debian 10 上使用 Nginx 作为反向代理安装 Wildfly 的步骤。

要求

  • 运行 Debian 10 的服务器。
  • 已为您的服务器设置根密码。

入门

在开始之前,您需要使用最新版本更新您的系统。您可以通过运行以下命令来执行此操作:

apt-get update -y
apt-get upgrade -y

服务器更新后,重新启动服务器以应用更改。

安装Java

WildFly 需要在您的服务器上安装 Java 版本 8。默认情况下,Java 8 在 Debian 10 默认存储库中不可用。因此,您需要从他们的官方网站下载 Java 8。

下载 Java 8 后,使用以下命令将 Java 源解压缩到 /usr/lib/jvm 目录:

mkdir /usr/lib/jvm/
tar -zxvf jdk-8u221-linux-x64.tar.gz -C /usr/lib/jvm/

接下来,运行以下命令更改默认的 Java 版本:

update-alternatives --config java

选择 Java 版本 8,然后按 Enter。您应该看到以下输出:

There are 2 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                         Priority   Status
------------------------------------------------------------
* 0            /usr/lib/jvm/java-11-openjdk-amd64/bin/java   1111      auto mode
  1            /usr/lib/jvm/java-11-openjdk-amd64/bin/java   1111      manual mode
  2            /usr/lib/jvm/jdk1.8.0_221/bin/java            1         manual mode

Press  to keep the current choice[*], or type selection number: 2
update-alternatives: using /usr/lib/jvm/jdk1.8.0_221/bin/java to provide /usr/bin/java (java) in manual mode

接下来,使用以下命令检查 Java 版本:

java -version

您应该得到以下输出:

java version "1.8.0_221"
Java(TM) SE Runtime Environment (build 1.8.0_221-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.221-b11, mixed mode)

安装 Wildfly

首先,您需要为 Wildfly 创建一个用户和组。您可以使用以下命令创建它:

groupadd -r wildfly
useradd -r -g wildfly -d /opt/wildfly -s /sbin/nologin wildfly

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

wget https://download.jboss.org/wildfly/17.0.1.Final/wildfly-17.0.1.Final.zip

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

unzip wildfly-17.0.1.Final.zip

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

cp -r wildfly-17.0.1.Final /opt/wildfly

接下来,将 wildfly 目录的所有权更改为 wildfly 用户,如下所示:

chown -RH wildfly:wildfly /opt/wildfly

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

配置 Wildfly

接下来,您需要复制必要的文件来配置 WildFly。

首先,将 WildFly 配置文件复制到 /etc/wildfly 目录:

mkdir /etc/wildfly
cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.conf /etc/wildfly/

接下来,使用以下命令将 launch.sh 文件复制到 /opt/wildfly/bin/ 目录:

cp /opt/wildfly/docs/contrib/scripts/systemd/launch.sh /opt/wildfly/bin/

接下来给launch.sh文件赋予执行权限:

sh -c 'chmod +x /opt/wildfly/bin/*.sh'

接下来,将 Wildfly systemd 单元文件复制到 /etc/systemd/system/ 目录:

cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.service /etc/systemd/system/

接下来,使用以下命令重新加载 systemd 守护进程:

systemctl daemon-reload

接下来,启动 WildFly 服务并使用以下命令使其在启动时启动:

systemctl start wildfly
systemctl enable wildfly

您现在可以使用以下命令检查 Wildfly 服务的状态:

systemctl status wildfly

您应该得到以下输出:

? wildfly.service - The WildFly Application Server
   Loaded: loaded (/etc/systemd/system/wildfly.service; disabled; vendor preset: enabled)
   Active: active (running) since Tue 2019-09-10 00:19:27 EDT; 1s ago
 Main PID: 1142 (launch.sh)
    Tasks: 7 (limit: 1138)
   Memory: 24.7M
   CGroup: /system.slice/wildfly.service
           ??1142 /bin/bash /opt/wildfly/bin/launch.sh standalone standalone.xml 0.0.0.0
           ??1143 /bin/sh /opt/wildfly/bin/standalone.sh -c standalone.xml -b 0.0.0.0
           ??1200 java -D[Standalone] -server -Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true -

Sep 10 00:19:27 debian systemd[1]: Started The WildFly Application Server.

配置 WildFly 身份验证

接下来,您需要为 Wildfly 创建管理员用户以访问 WildFly 管理控制台。您可以使用以下命令创建它:

/opt/wildfly/bin/add-user.sh

您应该看到以下输出:

What type of user do you wish to add? 
 a) Management User (mgmt-users.properties) 
 b) Application User (application-users.properties)
(a): a

键入 a 并按 Enter 以创建管理用户。在用户创建过程中,您需要提供用户名、密码和组名,如下所示:

Enter the details of the new user to add.
Using realm 'ManagementRealm' as discovered from the existing property files.
Username : wildflyadmin
Password recommendations are listed below. To modify these restrictions edit the add-user.properties configuration file.
 - The password should be different from the username
 - The password should not be one of the following restricted values {root, admin, administrator}
 - The password should contain at least 8 characters, 1 alphabetic character(s), 1 digit(s), 1 non-alphanumeric symbol(s)
Password : 
Re-enter Password : 
What groups do you want this user to belong to? (Please enter a comma separated list, or leave blank for none)[  ]: 
About to add user 'wildflyadmin' for realm 'ManagementRealm'
Is this correct yes/no? yes
Added user 'wildflyadmin' to file '/opt/wildfly/standalone/configuration/mgmt-users.properties'
Added user 'wildflyadmin' to file '/opt/wildfly/domain/configuration/mgmt-users.properties'
Added user 'wildflyadmin' with groups  to file '/opt/wildfly/standalone/configuration/mgmt-groups.properties'
Added user 'wildflyadmin' with groups  to file '/opt/wildfly/domain/configuration/mgmt-groups.properties'
Is this new user going to be used for one AS process to connect to another AS process? 
e.g. for a slave host controller connecting to the master or for a Remoting connection for server to server EJB calls.
yes/no? yes
To represent the user add the following to the server-identities definition 

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

将 WildFly 配置为可从远程系统访问

默认情况下,Wildfly 只能从本地系统访问。因此,您需要将其配置为从远程系统访问。您可以通过编辑文件 /etc/wildfly/wildfly.conf 来完成此操作:

nano /etc/wildfly/wildfly.conf

在文件末尾添加以下行:

WILDFLY_CONSOLE_BIND=0.0.0.0

完成后保存并关闭文件。然后,打开 /opt/wildfly/bin/launch.sh 文件,如下所示:

nano /opt/wildfly/bin/launch.sh

更改文件如下所示:

if [ "x$WILDFLY_HOME" = "x" ]; then
    WILDFLY_HOME="/opt/wildfly"
fi

if [[ "$1" == "domain" ]]; then
    $WILDFLY_HOME/bin/domain.sh -c $2 -b $3 -bmanagement $4
else
    $WILDFLY_HOME/bin/standalone.sh -c $2 -b $3 -bmanagement $4
fi

保存并关闭文件。然后,打开文件 /etc/systemd/system/wildfly.service。

nano /etc/systemd/system/wildfly.service

更改文件如下所示:

[Unit]
Description=The WildFly Application Server
After=syslog.target network.target
Before=httpd.service

[Service]
Environment=LAUNCH_JBOSS_IN_BACKGROUND=1
EnvironmentFile=-/etc/wildfly/wildfly.conf
User=wildfly
LimitNOFILE=102642
PIDFile=/var/run/wildfly/wildfly.pid
ExecStart=/opt/wildfly/bin/launch.sh $WILDFLY_MODE $WILDFLY_CONFIG $WILDFLY_BIND $WILDFLY_CONSOLE_BIND
StandardOutput=null

[Install]
WantedBy=multi-user.target

保存文件。然后,创建 /var/run/wildfly 目录并设置正确的权限

mkdir /var/run/wildfly/
chown wildfly:wildfly /var/run/wildfly/

最后,重新加载 systemd 守护进程并重启 Wildfly 服务以应用更改:

systemctl daemon-reload
systemctl restart wildfly

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

访问 Wildfly

Wildfly 现已安装并配置为从远程系统访问。默认情况下,Wildfly 管理控制台监听端口 9990。您可以通过访问 URL http://192.168.0.4:9990 访问它。您将被重定向到以下页面:

现在,提供您的管理员用户名和密码,然后单击“登录”按钮。您应该会在以下屏幕中看到 Wildfly 管理控制台:

您也可以通过访问 URL http://192.168.0.4:8080 访问 Wildfly 应用程序。您应该会看到以下页面:

配置 Nginx 作为 Wildfly 的反向代理

接下来,您需要将 Nginx 配置为反向代理,以代理来自端口 80 到 8080 的请求。

首先,使用以下命令安装 Nginx:

apt-get install nginx -y

安装 Nginx 后,使用以下命令为 Nginx 创建一个新的虚拟主机文件:

nano /etc/nginx/sites-available/wildfly.conf

添加以下行:

upstream wildfly {
  server 127.0.0.1:8080 weight=100 max_fails=5 fail_timeout=5;
}

server {
  listen          80;
  server_name     192.168.0.4;

  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://wildfly/;
  }
}

完成后保存并关闭文件。然后,使用以下命令检查 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 虚拟主机并使用以下命令重新启动 Nginx:

ln -s /etc/nginx/sites-available/wildfly.conf /etc/nginx/sites-enabled/
systemctl restart nginx

您现在可以在不指定端口 8080 的情况下访问 Wildfly 应用程序。

就是这样。您已经在 Debian 10 上成功安装和配置 Wildfly with Nginx 作为反向代理。如果您有任何问题,请随时问我。

©2015-2025 艾丽卡 support@alaica.com