在 Rocky Linux 8 上使用 Nginx 反向代理安装 WildFly Java 应用服务器在 Rocky Linux 8 上使用 Nginx 反向代理安装 WildFly Java 应用服务器在 Rocky Linux 8 上使用 Nginx 反向代理安装 WildFly Java 应用服务器在 Rocky Linux 8 上使用 Nginx 反向代理安装 WildFly Java 应用服务器
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

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

在 Rocky Linux 8 上使用 Nginx 反向代理安装 WildFly Java 应用服务器

在此页

  1. 先决条件
  2. 安装Java
  3. 安装 Wildfly
  4. 添加 Wildfly 管理员用户
  5. 配置防火墙和 SELinux
  6. 访问 Wildfly 管理控制台
  7. 将 Nginx 配置为 Wildfly 的反向代理
  8. 结论

WildFly 是由 RedHat 开发的开源跨平台应用服务器。它是用 Java 编写的,用于开发 Java 应用程序。它简单、灵活、轻便,并且基于可根据您的要求添加或删除的可插拔子系统。它带有一个简单且用户友好的仪表板,旨在为用户提供一个快速稳定的 Java 运行环境。

在本教程中,我们将向您展示如何在 Rocky Linux 8 上使用 Nginx 作为反向代理安装 Wildfly。相同的步骤也适用于 AlmaLinux 8 和 CentOS 8。

先决条件

  • 运行 Rocky Linux 8/AlmaLinux 8 或 centOS 8 的服务器。
  • 为服务器配置了根密码。

安装Java

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

dnf install java-11-openjdk-devel -y

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

java --version

您应该得到以下输出:

openjdk 11.0.8 2020-07-14 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.8+10-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.8+10-LTS, mixed mode, sharing)

安装 Wildfly

在安装 Wildfly 之前,您需要创建一个单独的用户和组来运行 Wildfly。您可以使用以下命令创建它们:

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

接下来,您需要从其官方网站下载最新版本的 Wildfly。在编写本教程时,Wildfly 的最新可用版本是 20.0.1。您可以使用以下命令下载它:

wget https://download.jboss.org/wildfly/20.0.1.Final/wildfly-20.0.1.Final.tar.gz

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

tar -xvzf /root/wildfly-20.0.1.Final.tar.gz

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

mv wildfly-20.0.1.Final /opt/wildfly

接下来,创建一个目录来存放 Wildfly 配置文件:

mkdir /etc/wildfly

接下来,使用以下命令将所有必需的文件复制到所需位置:

cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.conf /etc/wildfly/
cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.service /etc/systemd/system/
cp /opt/wildfly/docs/contrib/scripts/systemd/launch.sh /opt/wildfly/bin/

接下来,使用以下命令为 wildfly 目录和文件赋予适当的所有权和权限:

chmod +x /opt/wildfly/bin/launch.sh
chown -R wildfly:wildfly /opt/wildfly
chmod -R +x /opt/wildfly/

接下来,使用以下命令重新加载 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: disabled)
   Active: active (running) since Sun 2020-09-13 05:57:22 EDT; 16s ago
 Main PID: 31834 (launch.sh)
    Tasks: 123 (limit: 12527)
   Memory: 304.1M
   CGroup: /system.slice/wildfly.service
           ??31834 /bin/bash /opt/wildfly/bin/launch.sh standalone standalone.xml 0.0.0.0
           ??31835 /bin/sh /opt/wildfly/bin/standalone.sh -c standalone.xml -b 0.0.0.0
           ??31925 java -D[Standalone] -server -Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=tru>

Sep 13 05:57:22 centos8 systemd[1]: Started The WildFly Application Server.

此时 Wildfly 已安装并启动。 wildfly应用服务器默认监听8080端口,可以通过以下命令查看:

ss -tunelp | grep 8080

您应该得到以下输出:

tcp    LISTEN   0        128               0.0.0.0:8080           0.0.0.0:*      users:(("java",pid=31925,fd=478)) uid:989 ino:59014 sk:9

Wildfly 管理控制台正在侦听端口 9990。您可以使用以下命令检查它:

ss -tunelp | grep 9990

您应该得到以下输出:

tcp    LISTEN   0        50              127.0.0.1:9990           0.0.0.0:*      users:(("java",pid=31925,fd=138)) uid:989 ino:59017 sk:7

添加 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

提供您想要的用户名,然后按 Enter。您应该看到以下输出:

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 : 

提供您的密码,然后按 Enter。您应该看到以下输出:

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 管理用户已创建。您可以继续下一步。

配置防火墙和 SELinux

默认情况下,SELinux 在 Rocky Linux 8 中启用。因此您需要为 Wildfly 配置 SELinux。您可以使用以下命令执行此操作:

semanage fcontext -a -t bin_t "/opt/wildfly/bin(/.*)?"
restorecon -Rv /opt/wildfly/bin/
setsebool -P httpd_can_network_connect 1

接下来,您需要允许端口 8080、9990 和 80 通过防火墙。您可以使用以下命令执行此操作:

firewall-cmd --permanent --add-port=8080/tcp
firewall-cmd --permanent --add-port=9990/tcp
firewall-cmd --permanent --add-port=80/tcp

接下来,重新加载 firewalld 以应用更改。

firewall-cmd --reload

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

访问 Wildfly 管理控制台

默认情况下,Wildfly 管理控制台只能从本地主机访问。您将需要编辑 /opt/wildfly/bin/launch.sh 并对外部访问进行一些更改。

nano /opt/wildfly/bin/launch.sh

找到以下行:

    $WILDFLY_HOME/bin/standalone.sh -c $2 -b $3

并且,将其替换为以下行:

    $WILDFLY_HOME/bin/standalone.sh -c $2 -b $3 -bmanagement=0.0.0.0

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

systemctl restart wildfly

现在,打开您的 Web 浏览器并使用 URL http://your-server-ip:9990 访问 Wildfly 管理控制台。您将被要求提供用户名和密码,如下所示:

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

配置 Nginx 作为 Wildfly 的反向代理

默认情况下,Wildfly 应用程序可以在端口 8080 上访问。因此建议将 Nginx 配置为反向代理,以便使用端口 80 访问它。

首先,使用以下命令安装 Nginx Web 服务器;

dnf install nginx -y

安装后,使用以下命令创建一个新的 Wildfly 配置文件:

nano /etc/nginx/conf.d/wildfly.conf

添加以下行:

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

server {
  listen          80;
  server_name     your-server-ip;

  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 并使用以下命令使其在系统重启时启动:

systemctl start nginx
systemctl enable nginx

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

systemctl status nginx

您应该得到以下输出:

? nginx.service - The nginx HTTP and reverse proxy server
   Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
  Drop-In: /usr/lib/systemd/system/nginx.service.d
           ??php-fpm.conf
   Active: active (running) since Sun 2020-09-13 06:03:37 EDT; 5s ago
  Process: 1775 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
  Process: 1773 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
  Process: 1771 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
 Main PID: 1776 (nginx)
    Tasks: 3 (limit: 12527)
   Memory: 5.4M
   CGroup: /system.slice/nginx.service
           ??1776 nginx: master process /usr/sbin/nginx
           ??1777 nginx: worker process
           ??1778 nginx: worker process

Sep 13 06:03:37 centos8 systemd[1]: Stopped The nginx HTTP and reverse proxy server.
Sep 13 06:03:37 centos8 systemd[1]: Starting The nginx HTTP and reverse proxy server...
Sep 13 06:03:37 centos8 nginx[1773]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
Sep 13 06:03:37 centos8 nginx[1773]: nginx: configuration file /etc/nginx/nginx.conf test is successful
Sep 13 06:03:37 centos8 systemd[1]: Started The nginx HTTP and reverse proxy server.

此时,Nginx 已安装并配置为为您的 Wildfly 应用程序提供服务。您现在可以使用 URL http://your-server-ip 访问 Wildfly 应用程序。您应该看到以下屏幕:

结论

在本指南中,我们学习了如何在 Rocky Linux 8 上安装 Wildfly 并启用远程访问。我们还将 Nginx 配置为反向代理以通过端口 80 访问 Wildfly。现在,您可以开始构建 Java 应用程序并从狂野的管理控制台。

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