如何在Ubuntu 18.04/Debian 10/9上安装Wildfly(JBoss)
本教程将在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控制台将显示下一个窗口。