共计 6536 个字符,预计需要花费 17 分钟才能阅读完成。
什么是 wildfly
JBoss AS 从 8 版本起名为 wildfly。Wildfly 是一个开源的基于 JavaEE 的轻量级应用服务器。可以在任何商业应用中免费使用。
WildFly 是一个灵活的、轻量的、强大管理能力的应用程序服务器。Wildfly 是一个管理 EJB 的容器和服务器,但 JBoss 核心服务不包括支持 servlet/JSP 的 WEB 容器,一般与 Tomcat 或 Jetty 绑定使用。
特点
- 无与伦比的速度:快速启动,无限的网络性能和可扩展性。
- 非常的轻量级:瘦内存管理,运行时间可定制化。
- 强大的管理功能:统一的配置和管理。
Wildfly 更多特点及与市面上常见的 Web 服务对比,可参看《热门 WEB 容器 TOMCAT、JETTY、GLASSFISH、WILDFLY 对比》。
下载安装
wildfly 下载地址:https://wildfly.org/downloads/
目前,最新版本是 18.0.0.Final,选择“Java EE Full & Web Distribution”项对应的 ZIP 版本,点击下载即可。如果官网下载较慢,可关注微信公众号“程序新视界”,回复“wildfly”获得下载链接。
安装 java 环境要求 Java8 或更高版本。
所谓的安装即解压即可。下面看一下该版本的目录结构:
├── LICENSE.txt | |
├── README.txt | |
├── appclient | |
├── bin | |
├── copyright.txt | |
├── docs | |
├── domain | |
├── jboss-modules.jar | |
├── modules | |
├── standalone | |
└── welcome-content |
standalone 目录下存放的应用将单独占用进程,可单独启动和关闭,之间没有关联性。旗下有许多 xml 文件可供启动时选择。
domain 目录下的应用之间有关联性,managing multiple servers from a single control point。
modules 目录,jboss 采用 module 加载驱动。
readme 及启动命令
重点看一下 readme 中的内容,提供了启动相关的指导。
关键特性:
Key Features | |
------------ | |
* Jakarta EE 8 support | |
* Fast Startup | |
* Small Footprint | |
* Modular Design | |
* Unified Configuration and Management | |
* Distributed Domain Management |
文档获取,同时也可以看出启动时默认是监听 8080 端口。
Also, once WildFly is started you can go to http://localhost:8080/ | |
for additional information. |
启动命令:
Starting a Standalone Server | |
---------------------------- | |
A WildFly standalone server runs a single instance. | |
<JBOSS_HOME>/bin/standalone.sh (Unix / Linux) | |
<JBOSS_HOME>\bin\standalone.bat (Windows) |
启动脚本位于根目录 /bin 目录中。Windows 为 standalone.bat,Linux 为 standalone.sh。
Wildfly 还可以启动一个管理后台来对服务进行管理。
Starting a Managed Domain | |
------------------------- | |
A WildFly managed domain allows you to control and configure multiple instances, | |
potentially across several physical (or virtual) machines. The default | |
configuration includes a domain controller and a single server group with three | |
servers (two of which start automatically), all running on the localhost. | |
<JBOSS_HOME>/bin/domain.sh (Unix / Linux) | |
<JBOSS_HOME>\bin\domain.bat (Windows) |
启动脚本位于根目录 /bin 目录中。Windows 为 domain.bat,Linux 为 domain.sh。
停止服务,可以通过控制台输入 Ctrl+ c 命令来操作。如果服务在后台运行,可执行一下命令进行停止。
<JBOSS_HOME>/bin/jboss-cli.sh --connect --command=:shutdown (Unix / Linux) | |
<JBOSS_HOME>\bin\jboss-cli.bat --connect --command=:shutdown (Windows) |
启动操作
现在启动项目 standalone 看一下效果。
19:48:11,234 INFO [org.jboss.as.ejb3] (MSC service thread 1-6) WFLYEJB0482: Strict pool mdb-strict-max-pool is using a max instance size of 32 (per class), which is derived from the number of CPUs on this host. | |
19:48:11,234 INFO [org.jboss.as.ejb3] (MSC service thread 1-2) WFLYEJB0481: Strict pool slsb-strict-max-pool is using a max instance size of 128 (per class), which is derived from thread worker pool sizing. | |
19:48:11,296 INFO [org.wildfly.extension.undertow] (MSC service thread 1-4) WFLYUT0006: Undertow HTTP listener default listening on 127.0.0.1:8080 | |
19:48:11,409 INFO [org.jboss.as.ejb3] (MSC service thread 1-6) WFLYEJB0493: EJB subsystem suspension complete | |
19:48:11,479 INFO [org.jboss.as.connector.subsystems.datasources] (MSC service thread 1-3) WFLYJCA0001: Bound data source [java:jboss/datasources/ExampleDS] | |
19:48:11,579 INFO [org.jboss.as.patching] (MSC service thread 1-3) WFLYPAT0050: WildFly Full cumulative patch ID is: base, one-off patches include: none | |
19:48:11,596 WARN [org.jboss.as.domain.management.security] (MSC service thread 1-5) WFLYDM0111: Keystore /Users/zzs/tools/wildfly18/standalone/configuration/application.keystore not found, it will be auto generated on first use with a self signed certificate for host localhost | |
19:48:11,606 INFO [org.jboss.as.server.deployment.scanner] (MSC service thread 1-6) WFLYDS0013: Started FileSystemDeploymentService for directory /Users/zzs/tools/wildfly18/standalone/deployments | |
19:48:11,746 INFO [org.wildfly.extension.undertow] (MSC service thread 1-2) WFLYUT0006: Undertow HTTPS listener https listening on 127.0.0.1:8443 | |
19:48:11,846 INFO [org.jboss.ws.common.management] (MSC service thread 1-2) JBWS022052: Starting JBossWS 5.3.0.Final (Apache CXF 3.3.3) | |
19:48:11,963 INFO [org.jboss.as.server] (Controller Boot Thread) WFLYSRV0212: Resuming server | |
19:48:11,965 INFO [org.jboss.as] (Controller Boot Thread) WFLYSRV0060: Http management interface listening on http://127.0.0.1:9990/management | |
19:48:11,965 INFO [org.jboss.as] (Controller Boot Thread) WFLYSRV0051: Admin console listening on http://127.0.0.1:9990 | |
19:48:11,965 INFO [org.jboss.as] (Controller Boot Thread) WFLYSRV0025: WildFly Full 18.0.0.Final (WildFly Core 10.0.0.Final) started in 3880ms - Started 315 of 577 services (369 services are lazy, passive or on-demand) |
通过以上部分日志可以看到,wildfly 监听了 8080,8443 和 9990 端口。
访问服务器的 url 为:127.0.0.1:8080,访问管理后台的 url 为:http://127.0.0.1:9990/。
访问服务器可看到如下页面:
页面内包含文档、快速启动、管理后台等链接。
此时访问后台管理会提示如下内容:
Welcome to WildFly | |
Your WildFly Application Server is running. | |
However you have not yet added any users to be able to access the admin console. | |
To add a new user execute the add-user.sh script within the bin folder of your WildFly installation and enter the requested information. | |
By default the realm name used by WildFly is "ManagementRealm" this is already selected by default. | |
After you have added the user follow this link to Try Again. |
也就是说启动成功了,但没有配置用户。同 tomcat 一样,wildfly 也有自己的服务管理页面,可以统一管理应用,设置权限用户。执行 add-user 脚本来添加管理者用户。
bin zzs$ ./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,以添加管理用户 | |
(a): a | |
Enter the details of the new user to add. | |
Using realm 'ManagementRealm' as discovered from the existing property files. | |
# 输入用户名 | |
Username : zzs | |
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 : | |
# 留空即可或输入 ManagementRealm | |
What groups do you want this user to belong to? (Please enter a comma separated list, or leave blank for none)[ ]: ManagementRealm | |
About to add user 'zzs' for realm 'ManagementRealm' | |
# 继续则输入 yes | |
Is this correct yes/no? yes | |
Added user 'zzs' to file '/Users/zzs/tools/wildfly18/standalone/configuration/mgmt-users.properties' | |
Added user 'zzs' to file '/Users/zzs/tools/wildfly18/domain/configuration/mgmt-users.properties' | |
Added user 'zzs' with groups ManagementRealm to file '/Users/zzs/tools/wildfly18/standalone/configuration/mgmt-groups.properties' | |
Added user 'zzs' with groups ManagementRealm to file '/Users/zzs/tools/wildfly18/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 | |
yes/no? yes | |
这里需要注意,用户添加完毕后,将回馈给你此用户的 secret value,可在 domain 与 slave 的通信中用到 | |
To represent the user add the following to the server-identities definition <secret value="MTk4NzEwMjlfUXE=" /> |
每一步操作都会有对应的提示与选项,按照提示填写即可。
设置完成,再进点击 Administration Console 或访问 http://127.0.0.1:9990/,输入刚刚设置的用户名密码,即可登录管理后台。
原文链接:《wildfly(JBoss AS)应用服务器快速入门》
参考文章:《热门 WEB 容器 TOMCAT、JETTY、GLASSFISH、WILDFLY 对比》
<center> 程序新视界 :精彩和成长都不容错过 </center>