如何在 CentOS 7 上安装 WildFly (JBoss)

2023-11-13

WildFly,以前称为 JBoss ,是一个用 Java 编写的跨平台开源应用程序运行时,可帮助您构建令人惊叹的应用程序。 WildFly 灵活、轻量,并且基于可根据需要添加或删除的可插拔子系统。

本教程介绍如何在 CentOS 7 上安装 WildFly 应用服务器。

先决条件#

您需要以以下身份登录具有 sudo 访问权限的用户能够在 CentOS 系统上安装软件包。

第 1 步:安装 Java OpenJDK#

WildFly 9 需要 Java SE 8 或更高版本。在本教程中我们将安装 OpenJDK,Java 平台的开源实现,是 CentOS 7 中默认的 Java 开发和运行时。

通过运行以下命令安装 OpenJDK 包:

sudo yum install java-1.8.0-openjdk-devel

第 2 步:创建用户#

以 root 用户身份运行 WildFly 存在安全风险,不被视为最佳实践。

To 创建一个新的系统用户 and group named wildfly与主目录/opt/wildfly run:

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

第三步:安装WildFly#

在撰写本文时,WildFly 的最新版本是16.0.0。在继续下一步之前,您应该检查下载页面以获得新版本。如果有新版本则替换WILDFLY_VERSION下面的命令中的变量。

下载 WildFly 存档/tmp使用以下目录wget命令:

WILDFLY_VERSION=16.0.0.Finalwget https://download.jboss.org/wildfly/$WILDFLY_VERSION/wildfly-$WILDFLY_VERSION.tar.gz -P /tmp

下载完成后,解压tar.gz文件并将其移动到/opt目录:

sudo tar xf /tmp/wildfly-$WILDFLY_VERSION.tar.gz -C /opt/

接下来,创建一个符号链接 wildfly这将指向 WildFly 安装目录:

sudo ln -s /opt/wildfly-$WILDFLY_VERSION /opt/wildfly

WildFly 将在以下环境下运行wildfly需要访问 WildFly 安装目录的用户。

将目录所有权更改为用户和组wildfly与以下chown命令 :

sudo chown -RH wildfly: /opt/wildfly

步骤 4:配置 Systemd#

WildFly 包包含将 WildFly 作为服务运行所需的文件。

开始于创建目录其中将保存 WildFly 配置文件:

sudo mkdir -p /etc/wildfly

Copy配置文件到/etc/wildfly目录:

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

该文件允许您指定 WildFly 模式和绑定地址。默认情况下,WildFly 将以独立模式运行并侦听所有接口。您可以根据需要编辑该文件。

/etc/wildfly/wildfly.conf
# The configuration you want to run
WILDFLY_CONFIG=standalone.xml

# The mode you want to run
WILDFLY_MODE=standalone

# The address to bind to
WILDFLY_BIND=0.0.0.0

接下来复制WildFlylaunch.sh脚本到/opt/wildfly/bin/目录:

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

里面的脚本bin目录必须有可执行标志 :

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

将名为的 systemd 单元文件复制到/etc/systemd/system/目录:

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

通知 systemd 我们创建了一个新的单元文件:

sudo systemctl daemon-reload

通过运行以下命令启动 WildFly 服务并使其在启动时自动启动:

sudo systemctl start wildflysudo systemctl enable wildfly

验证服务是否正在运行:

sudo systemctl status wildfly
● wildfly.service - The WildFly Application Server
   Loaded: loaded (/etc/systemd/system/wildfly.service; disabled; vendor preset: disabled)
   Active: active (running) since Fri 2019-03-01 20:13:39 UTC; 3s ago
 Main PID: 3680 (launch.sh)
   CGroup: /system.slice/wildfly.service

第5步:调整防火墙#

如果您的服务器受到保护firewall如果您想从本地网络外部访问 WildFly 实例,您还需要打开端口 8080。

使用以下命令打开必要的端口:

sudo firewall-cmd --zone=public --permanent --add-port=8080/tcpsudo firewall-cmd --reload
在生产环境中运行 WildFly 应用程序时,您很可能会有一个负载均衡器或反向代理最佳实践是将端口 8080 的访问仅限于您的内部网络。

第 6 步:配置 WildFly 身份验证#

现在 WildFly 已安装并运行,下一步是创建一个能够使用管理控制台进行连接或使用 CLI 远程连接的用户。

要添加新用户,请使用add-user.sh位于 WildFly 的 bin 目录的脚本:

sudo /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):

Select a并击中Enter:

接下来,脚本将提示您输入新用户的详细信息:

Enter the details of the new user to add.
Using realm 'ManagementRealm' as discovered from the existing property files.
Username : linuxize
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 'linuxize' for realm 'ManagementRealm'
Is this correct yes/no? yes
Added user 'linuxize' to file '/opt/wildfly-16.0.0.Final/standalone/configuration/mgmt-users.properties'
Added user 'linuxize' to file '/opt/wildfly-16.0.0.Final/domain/configuration/mgmt-users.properties'
Added user 'linuxize' with groups  to file '/opt/wildfly-16.0.0.Final/standalone/configuration/mgmt-groups.properties'
Added user 'linuxize' with groups  to file '/opt/wildfly-16.0.0.Final/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 <secret value="UGFuMjNkZWo3NyNA" />

新用户将被添加到用于身份验证的属性文件中。

第 6 步:测试 WildFly 安装#

要访问默认的 WildFly 页面,请打开你的浏览器并输入:http://<your_domain_or_IP_address>:8080

假设安装成功,将出现类似以下的屏幕:

第 7 步:访问 WildFly 管理控制台#

命令行界面#

要从命令行访问 WildFly 管理控制台,您可以使用jboss-cli.sh script.

导航到 WildFly 的 bin 目录并使用以下命令运行脚本--connect option:

cd /opt/wildfly/bin/./jboss-cli.sh --connect

系统将要求您输入管理用户名和密码(在第 6 步中创建):

Authenticating against security realm: ManagementRealm
Username: linuxize
Password:

登录后,控制台提示符将更改为[standalone@localhost:9990 /]. Type help获取命令列表和命令语法。

从这里,您可以部署和取消部署应用程序、管理用户和组以及配置和监控 WildFly 服务器。

网页界面#

如果您喜欢从 GUI 管理服务器,WildFly 还提供基于 Web 的控制台。

默认情况下,WildFly 管理控制台只能从 localhost 访问:http://localhost:9990/console。使用您在步骤 6 中创建的用户登录。

如果您想从远程位置访问控制台,您需要对wildfly.service, wildfly.conf and launch.sh files.

打开wildfly.conf并附加WILDFLY_CONSOLE_BIND=0.0.0.0在文件末尾。

/etc/wildfly/wildfly.conf
# The configuration you want to run
WILDFLY_CONFIG=standalone.xml

# The mode you want to run
WILDFLY_MODE=standalone

# The address to bind to
WILDFLY_BIND=0.0.0.0

# The address console to bind to
WILDFLY_CONSOLE_BIND=0.0.0.0

打开launch.sh并编辑突出显示的行:

/opt/wildfly/bin/launch.sh
#!/bin/bash

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

重新启动服务以使更改生效:

sudo systemctl restart wildfly

打开wildfly.service并编辑突出显示的行:

/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目录并设置正确的权限:

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

通知 systemd 单元文件已更改:

sudo systemctl daemon-reload

通过执行以下命令重新启动 WildFly 服务:

sudo systemctl restart wildfly

假设该端口9990没有被您的防火墙阻止,您应该能够访问 WildFly 管理控制台http://<your_domain_or_IP_address>:9990/console.

结论#

您已在 CentOS 7 系统上成功安装 WildFly。您现在可以访问官方WildFly 文档并了解有关 WildFly 功能的更多信息。

如果您遇到问题或有反馈,请在下面发表评论。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 CentOS 7 上安装 WildFly (JBoss) 的相关文章

随机推荐

  • 如何为您的域生成 SPF 记录

    当您将 SPF 记录添加到您的域时 它有助于指示您的电子邮件是否被欺骗 发件人策略框架 SPF 系统是电子邮件管理员可以用来防止垃圾邮件发送者在垃圾邮件的 发件人 字段中使用其域的标准 例如 如果您从组织的电子邮件地址发送电子邮件 而其他人
  • 如何在 CentOS/RHEL 8 上安装 Tomcat 8.5

    Apache Tomcat 8 5 是可用于安装 Tomcat 8 系列的最新版本 Tomcat 是一个开源 Web 服务器 用于由 Apache 基金会开发的基于 Java 的应用程序 我们使用 Tomcat 来部署 Java Servl
  • 反转字符串的 Python 程序

    字符串是字符序列 在Python中 字符串是字符数据的有序序列 因此可以用这种语言进行索引 Python 不支持字符类型 但它们被视为长度为 1 的字符串 也被视为子字符串 大多数编程面试中的一个常见问题是关于在 Python 中反转字符串
  • 如何在 Ubuntu 18.04 和 16.04 上使用 Let’s Encrypt 保护 Apache

    Let s Encrypt 是一家证书颁发机构 CA 免费提供免费的 SSL TLS 证书以增强安全性 您可以为任何域 子域生成 CA 签署的 SSL 证书 无需任何成本并在您的服务器上使用 它还提供了自动续订 SSL 证书以供长期使用的选
  • 如何在 CentOS 8 上安装和配置 Gitlab

    Gitlab是源代码管理应用工具 它是 Github 的最佳替代品 它还为自托管版本的用户提供了一个选项 您只需安装Gitlab服务器即可充分利用其出色的功能 本教程将帮助您在 CentOS 8 Linux 系统上安装和配置 Gitlab
  • 如何在 Ubuntu 16.04 LTS 上安装 MySQL 5.7

    MySQL 是一个开源关系数据库管理系统 本教程将帮助您在 Ubuntu 和 Debian 系统上安装 MySQL 服务器 与之前的版本相比 该版本有多项安全改进 步骤 1 配置 Apt 存储库 下载 MySQL 团队官方提供的 MySQL
  • 如何在 Linux 上禁用 IPv6

    IPv6是下一代互联网协议 旨在取代当前的互联网协议 IP 版本 4 两个设备之间的通信需要 IP 地址 它是互联网上计算机的身份 本文将帮助您从 Linux 机器中禁用 IPv6 1 检查 IPv6 地址 Use 如果配置命令查看系统上当
  • 如何使用命令行备份 SAP HANA 数据库

    SAP HANA是一个内存数据平台 可部署为本地设备或云中 它是一个革命性的平台 最适合执行实时分析以及开发和部署实时应用程序 点击here了解有关 SAP HANA 的更多信息 使用以下步骤使用命令行备份 SAP HANA 数据库 仅建议
  • 如何从 Linux 系统中完全删除 MySQL

    MySQL 是一种流行的开源关系数据库管理系统 然而 有时由于各种原因 您可能需要从 Linux 系统中删除 MySQL 例如升级到新版本 替换为其他数据库系统或干脆卸载它 在本文中 我们将向您展示如何以安全有效的方式从 Linux 系统中
  • 如何在 Linux 中强制用户下次登录时更改密码

    所有的Linux系统都将用户信息保存在 etc passwd and etc shadow文件 用户密码和帐户期限详细信息存储在影子文件中 时效信息包含密码更改和帐户状态的详细信息 在本教程中 您将了解如何在 Linux 中强制用户更改密码
  • 如何在 Ubuntu 22.04 和 20.04 上安装和使用 Rkhunter

    Rkhunter 是 Rootkit Hunter 的缩写 是一种开源安全工具 可扫描 Linux 和 Unix 系统中的 rootkit 后门和其他可能的安全威胁 它是任何具有安全意识的用户工具包的重要补充 本文将提供有关如何在 Ubun
  • 如何在 Ubuntu 20.04 上安装 Anaconda

    Anaconda 是一个用于 R 编程和 Python 的开源平台 其中包含各种各样的包和存储库 它的功能很重要 因为它提供大规模的处理和计算数据 并且还可以用Python语言进行编程 Anaconda 是一个很好的 Python 应用程序
  • 如何在 Java 中使用三元运算符并举例

    与其他编程语言一样 Java 也提供了三元运算符 三元运算符是 if then else 语句的简单单行语句 三元运算符使用 and 简单 一个简单的三元运算符的工作原理类似于如果 那么 否则陈述 如果任何条件计算为 true 则执行 tr
  • 如何使您的功能分支保持最新。

    在 git 存储库中为新功能创建单独的分支是个好主意 在这种情况下 不要忘记使您的功能分支与主分支保持同步 因此 请定期更新您的功能分支 以避免任何合并冲突 本教程将帮助您从父分支更新功能分支 我们假设您的父分支是 master 执行以下命
  • 如何在 CentOS/RHEL 8 上安装 PHP 8

    PHP 8 0 是 PHP 团队于 2020 年 11 月 26 日发布的重大更新 较之前版本包含大量新功能和优化 要了解更多信息 请阅读PHP 8 变更日志 REMI 和 EPEL 是最流行的存储库 包含用于安装的最新 RPM 软件包 它
  • 什么是开放系统互连 (OSI) 模型?

    The 开放系统互连 OSI 模型是网络中的一个重要概念 您必须理解它才能掌握数据在网络中传输的方式 如果您是网络世界的新手 这份综合指南将为您提供 OSI 模型的扎实介绍 什么是 OSI 模型 OSI 模型是一个概念框架 用于标准化通信或
  • 如何将 Ubuntu 升级到 22.04 LTS (Jammy Jellyfish)

    Ubuntu 22 04 LTS Jammy Jellyfish 已于 2022 年 4 月 21 日发布 该版本将支持到 2027 年 升级谁 Ubuntu 桌面和开发用户可以立即升级到 Ubuntu 22 04 LTS 但Ubuntu服
  • 使用 Curl 传递自定义标头:实用指南

    Curl 是一个强大的命令行工具 世界各地的开发人员都使用它来通过 URL 传输数据 Curl 是一种多功能工具 支持各种协议 例如 HTTP HTTPS FTP 等 Curl 的宝贵功能之一是它能够在发出请求时传递自定义标头 本文旨在深入
  • Linux 中的 ls 命令(列出文件和目录)

    ls是任何 Linux 用户都应该知道的基本命令之一 The ls命令列出文件系统中的文件和目录 并显示有关它们的详细信息 它是安装在所有 Linux 发行版上的 GNU 核心实用程序包的一部分 本文将通过实际示例和最常见 ls 选项的详细
  • 如何在 CentOS 7 上安装 WildFly (JBoss)

    WildFly 以前称为 JBoss 是一个用 Java 编写的跨平台开源应用程序运行时 可帮助您构建令人惊叹的应用程序 WildFly 灵活 轻量 并且基于可根据需要添加或删除的可插拔子系统 本教程介绍如何在 CentOS 7 上安装 W