什么是 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/
安装 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/, 输入刚刚设置的用户名密码, 即可登录管理后台.
来源: https://www.cnblogs.com/secbro/p/11700716.html