如何在 CentOS 7 上安装 WildFly

介绍

在本教程中,我们的目标是在非托管 CentOS 7 服务器上安装 WildFly。 WildFly 是用于提供 Java 应用程序和服务的托管应用程序运行时服务器和 Java 软件平台。 它是一个开源软件,其用户社区不断改进。 虽然 WildFly 软件仍然是开源的,但如果需要付费支持,则由目前开发该软件的 Red Hat 提供(除了社区论坛)。 有些人可能更熟悉 WildFly 以前的名字,即 JBoss AS。 RedHat 继续以 JBoss EAP 的名义开发该软件的版本。

先决条件

以下是我们将在本教程中使用的先决条件和环境的摘要。

查看表

类别 要求、约定或
使用的软件版本
CentOS 7(非托管)
用户类型 根/基本 Linux 用户
软件 OpenJDK、WildFly
任务难度 中等(基本的工作知识
需要命令行)
其他 最新版本是 19.0.0。 Beta3 但在本教程中
我们将使用 18.0.1,这是最后一个稳定版本。

更新 CentOS

在服务器上进行任何工作之前,我们的第一步是确保我们安装了最新的更新和软件。 为此,我们将运行以下命令。

[email protected]:~# yum check-update [email protected]:~# yum clean all [email protected]:~# yum update

OpenJDK 安装

OpenJDK(或 Open Java Development Kit)是 Java 平台标准版的免费开源实现。 它是当今最流行的开源 Java 平台之一。 我们将在安装 WildFly 之前安装 OpenJDK。

最初,我们需要以 root 用户身份通过​​ SSH 登录到服务器。 我们将运行的第一个命令将安装 OpenJDK 软件。 此安装将产生相当多的输出,为了简洁起见,我们将这些输出连接起来。

[email protected] [~]# yum install java-1.8.0-openjdk-devel -y Installing : libxslt-1.1.28-5.el7.x86_64 1/17 Installing : python-lxml-3.2.1-4.el7.x86_64 2/17 Installing : python-javapackages-3.4.1-11.el7.noarch 3/17 Installing : javapackages-tools-3.4.1-11.el7.noarch 4/17 Installing : ttmkfdir-3.0.9-42.el7.x86_64 5/17 Installing : lksctp-tools-1.0.17-2.el7.x86_64 6/17 Installing : tzdata-java-2019c-1.el7.noarch 7/17 Installing : pcsc-lite-libs-1.8.8-8.el7.x86_64 8/17 Installing : libXtst-1.2.3-1.el7.x86_64 9/17 Installing : libfontenc-1.1.3-3.el7.x86_64 10/17 Installing : 1:xorg-x11-font-utils-7.5-21.el7.x86_64 11/17 Installing : xorg-x11-fonts-Type1-7.5-9.el7.noarch 12/17 Installing : copy-jdk-configs-3.3-10.el7_5.noarch 13/17 Installing : 1:java-1.8.0-openjdk-headless-1.8.0.242.b08-0.el7_7.x86_64 14/17 Installing : giflib-4.1.6-9.el7.x86_64 15/17 Installing : 1:java-1.8.0-openjdk-1.8.0.242.b08-0.el7_7.x86_64 16/17 Installing : 1:java-1.8.0-openjdk-devel-1.8.0.242.b08-0.el7_7.x86_64 17/17 Verifying : 1:xorg-x11-font-utils-7.5-21.el7.x86_64 1/17 Verifying : 1:java-1.8.0-openjdk-1.8.0.242.b08-0.el7_7.x86_64 2/17 Verifying : giflib-4.1.6-9.el7.x86_64 3/17 Verifying : xorg-x11-fonts-Type1-7.5-9.el7.noarch 4/17 Verifying : libxslt-1.1.28-5.el7.x86_64 5/17 Verifying : copy-jdk-configs-3.3-10.el7_5.noarch 6/17 Verifying : python-javapackages-3.4.1-11.el7.noarch 7/17 Verifying : 1:java-1.8.0-openjdk-headless-1.8.0.242.b08-0.el7_7.x86_64 8/17 Verifying : libfontenc-1.1.3-3.el7.x86_64 9/17 Verifying : 1:java-1.8.0-openjdk-devel-1.8.0.242.b08-0.el7_7.x86_64 10/17 Verifying : python-lxml-3.2.1-4.el7.x86_64 11/17 Verifying : libXtst-1.2.3-1.el7.x86_64 12/17 Verifying : pcsc-lite-libs-1.8.8-8.el7.x86_64 13/17 Verifying : javapackages-tools-3.4.1-11.el7.noarch 14/17 Verifying : tzdata-java-2019c-1.el7.noarch 15/17 Verifying : lksctp-tools-1.0.17-2.el7.x86_64 16/17 Verifying : ttmkfdir-3.0.9-42.el7.x86_64 17/17 ... Installed: java-1.8.0-openjdk-devel.x86_64 1:1.8.0.242.b08-0.el7_7 Dependency Installed: copy-jdk-configs.noarch 0:3.3-10.el7_5 giflib.x86_64 0:4.1.6-9.el7 java-1.8.0-openjdk.x86_64 1:1.8.0.242.b08-0.el7_7 java-1.8.0-openjdk-headless.x86_64 1:1.8.0.242.b08-0.el7_7 javapackages-tools.noarch 0:3.4.1-11.el7 libXtst.x86_64 0:1.2.3-1.el7 libfontenc.x86_64 0:1.1.3-3.el7 libxslt.x86_64 0:1.1.28-5.el7 lksctp-tools.x86_64 0:1.0.17-2.el7 pcsc-lite-libs.x86_64 0:1.8.8-8.el7 python-javapackages.noarch 0:3.4.1-11.el7 python-lxml.x86_64 0:3.2.1-4.el7 ttmkfdir.x86_64 0:3.0.9-42.el7 tzdata-java.noarch 0:2019c-1.el7 xorg-x11-font-utils.x86_64 1:7.5-21.el7 xorg-x11-fonts-Type1.noarch 0:7.5-9.el7 Complete!

现在我们已经安装了 JDK,让我们继续安装 WildFly

WildFly 安装

作为旁注,我们不应该以 root 用户身份运行 WildFly,因为它会带来安全风险。 因此,我们将创建一个新的系统用户和组。 为了开始下一步,我们将运行 groupadd 命令来创建“wildfly”用户组。

[email protected] [~]# groupadd -r wildfly

现在,我们可以使用 useradd 命令添加 wildfly 用户。

[email protected] [~]# useradd -r -g wildfly -d /opt/wildfly -s /sbin/nologin wildfly

现在我们已经创建了用户和组,我们可以继续安装本身。 我们将更改目录以移动到我们的 /tmp 目录,然后下载 WildFly 的最新稳定版本。

[email protected] [~]# cd /tmp && wget https://download.jboss.org/wildfly/18.0.0.Final/wildfly-18.0.0.Final.tar.gz

下载完成后,我们需要解压缩我们下载的档案。 我们将使用以下命令来完成此操作。

[email protected] [~]# tar -xf wildfly-18.0.0.Final.tar.gz -C /opt

此命令解压缩我们的存档,并将其移动到 /opt 目录。 现在我们需要创建一个指向 WildFly 的符号链接,该链接将指向 WildFly 安装目录。 我们将使用以下命令执行此任务。

[email protected] [~]# ln -s /opt/wildfly-18.0.0. /opt/wildfly

现在,WildFly 将在 WildFly 用户下运行,因此可以访问安装目录。

在安装的最后一步,我们将使用以下命令将安装目录的所有权更改为 WildFly 用户

[email protected] [~]# chown -RH wildfly: /opt/wildfly-18.0.0.Final/

这样就完成了安装过程。 我们现在将继续配置 Wildfly 服务。

配置

首先,我们需要为 WildFly 配置文件创建目录。

[email protected] [~]# mkdir -p /etc/wildfly

将配置文件复制到新目录:

cp /opt/wildfly-18.0.0.Final/docs/contrib/scripts/systemd/wildfly.conf /etc/wildfly/

这是默认配置文件的外观。

# The configuration you want to run<br>WILDFLY_CONFIG=standalone.xml # The mode you want to run<br>WILDFLY_MODE=standalone # The address to bind to<br>WILDFLY_BIND=0.0.0.0

这意味着 WildFly 将在独立模式下运行。 这可以根据用户的需要进行调整。 在本教程中,我们将按原样使用它,这意味着它将侦听所有接口。

下一步是将 WildFly launch.sh 脚本复制到二进制目录。

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

一旦脚本位于二进制目录中,我们需要将其设置为可执行。 我们将使用 chmod 命令执行此任务。

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

接下来,我们现在需要将 systemd 单元服务文件复制到 /etc/systemd/system/。

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

在接下来的几个命令中,我们将告诉 systemd 一个新的服务单元文件已经就位。 在此之后,我们将启动 WildFly 服务,然后我们将确保该服务已启动并运行。

systemctl daemon-reload systemctl start wildfly systemctl enable wildfly Created symlink from /etc/systemd/system/multi-user.target.wants/wildfly.service to /etc/systemd/system/wildfly.service.

Wildfly status 命令的输出将如下所示。

systemctl status wildfly ● wildfly.service - The WildFly Application Server Loaded: loaded (/etc/systemd/system/wildfly.service; enabled; vendor preset: disabled) Active: active (running) since Sat 2020-03-14 12:10:27 EDT; 6s ago Main PID: 2562 (launch.sh) CGroup: /system.slice/wildfly.service ├─2562 /bin/bash /opt/wildfly-18.0.0.Final/bin/launch.sh standalone standalone.xml 209.59.129.225 ├─2564 /bin/sh /opt/wildfly-18.0.0.Final/bin/standalone.sh -c standalone.xml -b 209.59.129.225 └─2621 java -D[Standalone] -server -Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true -Djbo... Mar 14 12:10:27 doh.trainingtest.tk systemd[1]: Started The WildFly Application Server.

完成此操作后,我们已确认 WildFly 已启动并正在运行。

防火墙

现在,要运行 WildFly,我们需要确保在防火墙中打开端口 8080。 这可以使用以下命令来完成。

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

接下来,我们需要重新加载防火墙。

firewall-cmd --reload

用户设置

要登录 Wildfly,我们需要完成最后一步,即创建 Wildfly 仪表板用户。 我们将为此任务使用内置的 add-user.sh 脚本。 该脚本位于 WildFly 的二进制目录中。

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

当我们运行这个脚本时,它会问我们以下问题:

  1. 您想添加什么类型的用户?
    • a – 管理用户 (mgmt-users.properties)
    • b – 应用程序用户 (application-users.properties)

在这里,我们将选择“a”选项,然后脚本会询问我们一些基本的用户信息。 最后,我们将选择我们的用户名、密码,然后按 Enter 键以在其余问题中使用默认值,除非我们需要修改特定设置。

这就是关于软件安装! 我们现在可以使用端口 8080 输入我们站点/服务器的 IP 地址。例如,111.222.333.444:8080,我们将看到 Wildfly 欢迎屏幕。

野蝇仪表板

我们现在准备在我们的服务器上使用 WildFly。 享受!

今天就开始吧!

您是否是一名 Java 开发人员,正在寻求推出一个新平台来运行您的 Web 应用程序? 如果是这样,请立即联系我们,了解我们如何满足您的所有服务器需求。 给我们打电话 800.580.4985,或打开一个 聊天 或立即与我们联系,与我们知识渊博的解决方案团队之一或经验丰富的托管顾问交谈!