如何在Ubuntu 18.04/Debian 10/9上安装Wildfly(JBoss)

时间:2020-02-23 14:33:04  来源:igfitidea点击:

本教程将在Ubuntu 18.04/Debian 10/9上安装Wildfly(JBoss)服务器。
以前被称为JBoss的WildFly是用Java编写的应用程序服务器,由Red Hat开发。
Wildfly Application Server是Java Enterprise Edition 8平台规范的异常快速,轻巧,强大的实现。

截至本文,Wildfly 16是一系列JBoss开源应用服务器产品中的最新版本。
本文简单概述了如何在Ubuntu 18.04/Debian 10/9上下载和安装Wildfly 16以进行应用程序开发。

第1步:安装Java

Wildfly用Java编写,需要安装为准备工作。
在Ubuntu/Debian上安装Java有两种选择。

安装OpenJDKKStall Java SE Development Kit

获取Java的最简单方法是通过运行下面的命令在Ubuntu/Debian系统上安装OpenJDK。

sudo apt update
sudo apt -y install default-jdk

从上面的命令安装的默认Java版本是Java 10+。
这是野生蝇的支持。

$java --version
openjdk 10.0.2 2016-07-17
OpenJDK Runtime Environment (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.4)
OpenJDK 64-Bit Server VM (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.4, mixed mode)

第2步:下载Wildfly

在下载文件之前,请检查Wildfly下载页面以获取最新版本。
其中我们将下载Wildfly 18.0.1.Final

export WILDFLY_RELEASE="18.0.1"
wget https://download.jboss.org/wildfly/$WILDFLY_RELEASE.Final/wildfly-$WILDFLY_RELEASE.Final.tar.gz

下载文件后,提取它。

tar xvf wildfly-$WILDFLY_RELEASE.Final.tar.gz

将结果文件夹移动到 /opt/wildfly

sudo mv wildfly-$WILDFLY_RELEASE.Final//opt/wildfly

第3步:为野生配置SystemD

现在让我们创建一个将运行Wildfly服务的系统用户和组。

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

创建Wildfly配置目录。

sudo mkdir /etc/wildfly

从/opt/wildfly/doc/contract/scipts/systemd /目录复制Wildfly Systemd服务,配置文件和启动脚本模板。

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

/opt/wildfly权限。

sudo chown -R wildfly:wildfly /opt/wildfly

重新加载系统服务。

sudo systemctl daemon-reload

启动并启用Wildfly服务:

sudo systemctl start wildfly
sudo systemctl enable wildfly

确认Wildfly应用程序服务器状态。

sudo systemctl status wildfly

示例

服务应绑定到端口 8080

# ss -tunelp | grep 8080
tcp    LISTEN   0   128    0.0.0.0:8080  0.0.0.0:*  users:(("java",pid=6854,fd=389)) uid:999 ino:30339 sk:3 <->

第4步:添加Wildfly用户

默认情况下,virelfly 16现在分发了为管理界面启用的安全性。
我们需要创建一个可以访问Wildfly管理控制台或者远程使用CLI的用户。
提供脚本以管理用户。

通过执行命令运行它:

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

为用户提供所需的用户名。

Enter the details of the new user to add.
 Using realm 'ManagementRealm' as discovered from the existing property files.
 Username : theitroad

为用户设置密码:

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 : <Enter Password>
Re-enter Password :  <Confirm Password>

按Enter键并同意后续提示完成用户创建。

What groups do you want this user to belong to? (Please enter a comma separated list, or leave blank for none)[  ]: <Enter>
 About to add user 'theitroad' for realm 'ManagementRealm'
 Is this correct yes/no? yes
 Added user 'theitroad' to file '/opt/wildfly/standalone/configuration/mgmt-users.properties'
 Added user 'theitroad' to file '/opt/wildfly/domain/configuration/mgmt-users.properties'
 Added user 'theitroad' with groups  to file '/opt/wildfly/standalone/configuration/mgmt-groups.properties'
 Added user 'theitroad' 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

请注意:

用户信息保持在:/opt/wildfly/domain/configuration/mgmt-users.properties组信息保持在:/opt/wildfly/stestalone/configuration/mgmt-groups.properties

第5步:访问Wildfly管理控制台

为了能够从当前shell会话中运行Wildfly脚本,添加 /opt/wildfly/bin/到你的$path。

cat >> ~/.bashrc <<EOF
export WildFly_BIN="/opt/wildfly/bin/"
export PATH=$PATH:$WildFly_BIN                                                                                                                    
EOF

来源bashrc文件。

source ~/.bashrc

现在通过连接到CLI的Wildfly管理控制台来测试 jboss-cli.sh命令。

# jboss-cli.sh --connect
[Hyman@theitroad:9990 /] version
JBoss Admin Command-line Interface
JBOSS_HOME: /opt/wildfly
Release: 8.0.0.Final
Product: WildFly Full 16.0.0.Final
JAVA_HOME: null
java.version: 10.0.2
java.vm.vendor: Oracle Corporation
java.vm.version: 10.0.2+13-Ubuntu-1ubuntu0.18.04.4
os.name: Linux
os.version: 4.15.0-46-generic

从Web界面访问Wildfly管理控制台

默认情况下,控制台可在端口9990上的localhost ip上访问。

# ss -tunelp | grep 9990
tcp    LISTEN   0    50    127.0.0.1:9990  0.0.0.0:* users:(("java",pid=6769,fd=404)) uid:999 ino:30407 sk:3 <->

我们可以在从本地服务器外部访问的不同IP地址上启动它。
编辑 /opt/wildfly/bin/launch.sh看起来像这样:

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

我们加了 -bmanagement=0.0.0.0启动脚本行。
这将"管理"接口绑定到所有可用的IP地址。

重启野生服务

sudo systemctl restart wildfly

确认

$ss -tunelp | grep 9990
tcp    LISTEN   0  50     0.0.0.0:9990  0.0.0.0:*  users:(("java",pid=9496,fd=320)) uid:999 ino:73367 sk:c <->

打开浏览器和URL http://serverip:9990访问Wildfly Web控制台。

使用前面创建的用户名和密码进行身份验证。
Wildfly控制台将显示下一个窗口。