在CentOS 8/RHEL 8上安装和配置JBoss EAP的方法
本文介绍在CentOS 8/RHEL 8系统上安装和配置JBoss EAP的方法,相同的方法也适用于在Rocky Linux 8等发行版上。JBoss EAP是一个开源的基于Java的应用服务器,其主要功能是构建、部署和托管高度事务性的Java应用程序和服务。
在CentOS 8/RHEL 8上安装和配置JBoss EAP,将以JBoss EAP 7.x版本为例说明
1、安装Java开发工具包(JDK)
首先,您需要满足安装受支持的Java开发工具包(JDK)的要求。在本文中,我们将选择安装与JBoss EAP 7.x兼容的OpenJDK 11,可运行以下命令安装:
sudo yum install java-11-openjdk-devel
它会自动执行安装,完成后可运行java --version命令查看所安装的OpenJDK 11版本。
2、下载JBoss EAP 7.x
要下载JBoss EAP 7.x,您需要创建一个RedHat帐户,地址在https://access.redhat.com/。然后使用创建的凭据登录帐户。单击下载并在RUNTIMES下的列表中,选择Red Hat JBoss Enterprise Application Platform:
然后选择所需的JBoss EAP版本:
点击下载,JBoss EAP Jar文件将被提取。
3、在CentOS 8/RHEL 8上安装JBoss EAP 7.x
成功下载Jar文件后,如果您的CentOS 8/RHEL 8上没有GUI,则可以使用GUI或控制台方法进行安装。
首先,将JBoss EAP Jar文件移动到$HOME目录中:
cd Downloads
sudo mv jboss-eap-7.4.0-installer.jar $HOME
在CentOS 8/RHEL 8上运行JBoss EAP 7.x安装程序:
cd $HOME
java -jar jboss-eap-7.4.0-installer.jar -console
然后选择语言,有英语、中文、德语、法国等选择。同时,还得仔细阅读并同意用户许可协议。
然后为JBoss EAP设置所需的PATH,您也可以定义自己的JBoss EAP_HOME路径:
Select the installation path: [/home/thor/EAP-7.4.0] Press Enter
press 1 to continue, 2 to quit, 3 to redisplay.
注:这里请按1。
现在选择要安装的JBoss EAP包,带有Required参数的包是必需的,比如Red Hat JBoss Enterprise Application Platform、Modules、Welcome Content。按界面做选择即可。在选择后,按0确认,然后按1继续。接下来,创建一个用于登录Web界面或CLI的管理员用户。
设置管理员用户的首选密码,如下:
Admin username: admin
Admin password: *********
Confirm admin password: ********
选择配置,选择以后可以自定义的默认配置。通常情况下,有几个额外的选项可用于配置Red Hat JBoss Enterprise Application Platform。每个选项都可以单独选择,并将按下一步显示的顺序进行配置。
这里提一下,您可以通过键入Y生成一个自动化脚本。该脚本可以用于执行另一个具有类似配置的JBoss EAP安装。只需要按照屏幕的要求操作即可,在询问的时候请按Y键继续安装,直到完成,届时将会提示Console installation done字样,如下:
[ Starting processing ]
Starting process Logging installation information (1/3)
IzPack variable state written to /home/thor/EAP-7.4.0/installation/InstallationLog.txt
Starting process Adding admin user (2/3)
Starting process Cleanup extraneous folders and tepmorary files (3/3)
Create shortcuts in the start menu (y/n) [y]:y
Select a program group for the shortcuts: [JBoss Platform]:
[ Creating shortcuts ....... ]
Installation has completed successfully.
Application installed on /home/thor/EAP-7.4.0
Would you like to generate an automatic installation script and properties file? (y/n) [n]:y
Select path for the automatic installation script: [/home/thor/EAP-7.4.0/auto.xml]
XML written successfully.
[ Console installation done ]
4、启动JBOSS EAP
JBoss EAP可以在独立模式下启动,方法是在EAP_HOME/bin中运行standalone.sh,如下所示:
## For Localhost
$HOME/EAP-7.4.0/bin/standalone.sh
JBoss EAP将按如下方式启动:
JBoss Bootstrap Environment
JBOSS_HOME: /home/thor/EAP-7.4.0
JAVA: java
JAVA_OPTS: -server -Xlog:gc*:file="/home/thor/EAP-7.4.0/standalone/log/gc.log":time,uptimemillis:filecount=5,filesize=3M -Xms1303m -Xmx1303m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true --add-exports=java.base/sun.nio.ch=ALL-UNNAMED --add-exports=jdk.unsupported/sun.misc=ALL-UNNAMED --add-exports=jdk.unsupported/sun.reflect=ALL-UNNAMED
03:32:09,659 INFO [org.jboss.modules] (main) JBoss Modules version 1.11.0.Final-redhat-00001
03:32:10,024 INFO [org.jboss.msc] (main) JBoss MSC version 1.4.12.Final-redhat-00001
3:32:13,503 INFO [org.jboss.as] (Controller Boot Thread) WFLYSRV0025: JBoss EAP 7.4.0.GA (WildFly Core 15.0.2.Final-redhat-00001) started in 4194ms - Started 317 of 556 services (343 services are lazy, passive or on-demand)
03:32:13,504 INFO [org.jboss.as] (Controller Boot Thread) WFLYSRV0060: Http management interface listening on http://127.0.0.1:9990/management
03:32:13,505 INFO [org.jboss.as] (Controller Boot Thread) WFLYSRV0051: Admin console listening on http://127.0.0.1:9990
在这里,您可以使用URL访问web控制台,地址格式是http://127.0.0.1:9990,如下图:
允许端口通过防火墙:
sudo firewall-cmd --zone=public --permanent --add-port=9990/tcp
sudo firewall-cmd --reload
为了能够管理我们的web应用程序,我们需要访问JBoss EAP管理控制台,默认情况下,页面将在127.0.0.1上运行,但我们可以通过添加以下IP地址来更改这一点:
##For a Specific IP Address
$HOME/EAP-7.4.0/bin/standalone.sh -b 192.168.205.2 -bmanagement 192.168.205.2
样本输出:
JBoss Bootstrap Environment
JBOSS_HOME: /home/thor/EAP-7.4.0
JAVA: java
JAVA_OPTS: -server -Xlog:gc*:file="/home/thor/EAP-7.4.0/standalone/log/gc.log":time,uptimemillis:filecount=5,filesize=3M -Xms1303m -Xmx1303m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true --add-exports=java.base/sun.nio.ch=ALL-UNNAMED --add-exports=jdk.unsupported/sun.misc=ALL-UNNAMED --add-exports=jdk.unsupported/sun.reflect=ALL-UNNAMED
03:41:41,307 INFO [org.jboss.modules] (main) JBoss Modules version 1.11.0.Final-redhat-00001
03:41:41,650 INFO [org.jboss.msc] (main) JBoss MSC version 1.4.12.Final-redhat-00001
03:41:45,082 INFO [org.jboss.as] (Controller Boot Thread) WFLYSRV0060: Http management interface listening on http://192.168.205.2:9990/management
03:41:45,083 INFO [org.jboss.as] (Controller Boot Thread) WFLYSRV0051: Admin console listening on http://192.168.205.2:9990
现在使用URL地址格式http://IP_address:9990访问管理控制台并使用之前创建的凭据登录:
身份验证成功后,您将能够看到此仪表板:
从这里开始,您现在可以使用JBoss EAP构建、部署和托管Java应用程序。
5、将JBoss EAP作为服务进行管理
这将使我们能够启动、停止、重新启动和启用JBoss EAP服务。
编辑以下文件:
vim $HOME/EAP-7.4.0/bin/init.d/jboss-eap.conf
在该文件中,取消注释并编辑JBOSS_HOME参数和JBOSS_USER以管理服务,如下所示:
## Location of JBoss EAP
JBOSS_HOME="/home/thor/EAP-7.4.0"
## The username who should own the process.
JBOSS_USER=thor
请记住将 JBoss_HOME路径和JBOSS_USER替换为您的系统用户来管理JBoss EAP服务。
将文件复制到/etc/default:
sudo cp $HOME/EAP-7.4.0/bin/init.d/jboss-eap.conf /etc/default/
此外,将jboss-eap-rhel.sh文件复制到/etc/init.d中,如下所示,并使其可执行:
sudo cp $HOME/EAP-7.4.0/bin/init.d/jboss-eap-rhel.sh /etc/init.d
sudo chmod +x /etc/init.d/jboss-eap-rhel.sh
添加新的jboss-eap-rhel.sh服务:
sudo chkconfig --add jboss-eap-rhel.sh
现在启动并启用JBoss EAP服务以在启动时运行:
sudo service jboss-eap-rhel start
sudo chkconfig jboss-eap-rhel.sh on
验证服务是否正确运行:
$ systemctl status jboss-eap-rhel
jboss-eap-rhel.service - SYSV: JBoss EAP startup script
Loaded: loaded (/etc/rc.d/init.d/jboss-eap-rhel.sh; generated)
至此,在CentOS 8/RHEL 8上配置JBoss EAP全部完成。