WildFly - 用于Linux的新的改进的JBoss应用程序服务器

WildFly以前称为JBoss Application Server或JBoss是由Red Hat开发的一个开源Java EE 7兼容应用程序服务器。

正如我们都知道的JBoss AS已更名为WildFly。 添加了许多新功能,很多已经升级。 最后WildFly最终8.0.0已经发布02月11.2014。 WildFly项目负责贾森·格林宣布了一样。

在Linux中安装WildFly

WildFly 8 JBoss应用程序服务器

WildFly 8Red Hat公司的Java EE 7兼容的开源应用服务器。 主要功能如下:

Java EE 7兼容性

最大的变化是,现在WildFly 8是官方Java EE7认证。

高性能Web服务器

Undertow是用Java编写的新的高性能Web服务器。 现在这已经在WildFly 8中实现。这是真正设计用于高吞吐量和可扩展性,可以处理数百万的连接。 Undertow的生命周期完全由嵌入应用程序控制。 这是非常轻量级的核心jar具有1MB的大小和嵌入式服务器使用少于4MB的堆空间。 这真的很棒。

3端口缩减

由于它使用Undertow支持升级HTTP,这将允许多个协议通过单个HTTP端口进行多路复用。 WildFly 8几乎将所有协议都通过两个HTTP端口进行多路复用:一个是管理,另一个是应用程序端口。 这对于在单个服务器上运行数百到数千个实例的云提供程序(如OpenShift)来说真的是一个巨大的变化和好处。 总共有两个默认端口用于配置,它们是9990(Web管理控制台)和8080(应用程序控制台)。

基于角色的访问控制和审计

这是在WildFly 8中实现的新的有趣的东西。通过使用它,我们可以创建不同的用户,并可以根据需要将它们分配到不同的角色。 我稍后会给你屏幕截图。

记录

管理API现在支持列出和查看服务器上的可用日志文件的功能。 现在,我们有称为“add-logging-api-dependencies”的属性可用于我们想要跳过容器日志记录的任何类型的部署。 这将禁用添加隐式服务器日志记录依赖项。 我们有另一个选项,即我们可以使用jboss-deployment-structure.xml来排除日志子系统。 使用它,它将有助于停止日志子系统通过任何部署。

我们还可以使用另一个参数,即use-deployment-logging-config来启用/禁用部署中日志配置文件的处理。

注意 :我们使用从该版本已被弃用每采伐禁用系统属性。

聚类

同样大的变化是一个聚类。 所有与Clustering支持相关的功能在WildFly 8中已更改,其中包括如下:

  1. 分布式Web会话已使用新的基于Java的Web服务器(即Undertow)进行了优化。
  2. mod_cluster支持Undertow。
  3. 优化的分布式SSO(单点登录)功能和对Undertow的支持。
  4. 新的/优化的分布式@Stateful EJB缓存实现。
  5. WildFly 8添加了一些新的公共集群API。
  6. 对于创建单例服务,它提供了新的公共API。
CLI改进

CLI配置也得到了改进。 你知道所有管理员喜欢工作CLI;)。 所以,现在我们可以为特定的服务器创建别名,然后可以使用该别名,只要想使用connect命令连接到该服务器。

在WildFly 8中还有许多增强和更新。您可以在以下位置检查所有这些:

  1. http://wildfly.org/news/2014/02/11/WildFly8-Final-Released/

在Linux中安装WildFly 8

与安装向前迈进之前,请确保您拥有的Java EE 7的系统上安装。 WildFly 8将无法使用以前的版本。 请按照以下指南在Linux系统中安装Java EE 7。

  1. 在Linux中安装JDK / JRE 7u25

第1步:下载WildFly 8

使用以下链接下载最新的WildFly zip文件。

  1. http://download.jboss.org/wildfly/8.0.0.Final/wildfly-8.0.0.Final.zip

你也可以使用'wget的 '命令直接在命令行上进行下载。

[root@howtoing]# wget http://download.jboss.org/wildfly/8.0.0.Final/wildfly-8.0.0.Final.zip

复制zip文件中使用“解压缩”命令的首选位置(在我的情况如“/数据/')和提取。

[root@howtoing]# cp wildfly-8.0.0.Final.zip /data/
[root@howtoing]# cd /data/
[root@howtoing data]# unzip wildfly-8.0.0.Final.zip

第2步:设置环境变量

现在设置一些环境变量。 您可以在系统上或在您的配置文件中设置这些。 在这里,我的配置文件standalone.shstandalone.conf'bin文件夹中设置。

[root@howtoing data]# cd wildfly-8.0.0.Final
[root@howtoing data]# cd bin/

添加这两个以下几行standlone.sh / standlone.conf文件。 请指定您的WildFly安装位置和Java Home位置。

JBOSS_HOME=”/data/wildfly-8.0.0.Final”
JAVA_HOME=”/data/java/jre7/bin/java”

:对于整个系统范围,你可以在“/ etc / profile文件 ”文件中设置它。

第3步:启动WildFly 8

现在启动独立模式下使用“standalone.sh”和域模式下使用“domain.sh”服务器也就是说。

[root@howtoing bin]# ./standalone.sh
[root@howtoing bin]# ./domain.sh

但是,在这里我开始在独立模式。 默认情况下,将“standalone.xml'文件得到启动,但你也可以开始使用一些其他配置” - 服务器配置 “选项。

正如下面我开始以“ 独立,全ha.xml”服务器和该文件存在于“$ JBOSS_HOME /独立(配置文件)/配置/”。

[root@howtoing bin]# ./standalone.sh --server-config standalone-full-ha.xml
示例输出
Calling "/data/wildfly-8.0.0.Final/standalone/configuration/standalone.conf"
Setting JAVA property to "/data/java/jre7/bin/java"
===============================================================================
JBoss Bootstrap Environment
JBOSS_HOME: "/data/wildfly-8.0.0.Final"
JAVA: "/data/java/jre7/bin/java"
JAVA_OPTS: "-client -Dprogram.name=standalone.sh -Xms64M -Xmx512M -XX:MaxPerm
Size=256M -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman"
===============================================================================
13:55:26,403 INFO  [org.jboss.modules] (main) JBoss Modules version 1.3.0.Final
13:55:33,812 INFO  [org.jboss.msc] (main) JBoss MSC version 1.2.0.Final
13:55:35,481 INFO  [org.jboss.as] (MSC service thread 1-1) JBAS015899: WildFly 8.0.0.Final "WildFly" starting
13:55:58,646 INFO  [org.jboss.as.server] (Controller Boot Thread) JBAS015888: Creating http management service using socket-binding (management-http)
...........
13:56:22,778 INFO  [org.jboss.as] (Controller Boot Thread) JBAS015961: Http management interface listening on http://127.0.0.1:9990/management
13:56:22,794 INFO  [org.jboss.as] (Controller Boot Thread) JBAS015951: Admin console listening on http://127.0.0.1:9990
13:56:22,794 INFO  [org.jboss.as] (Controller Boot Thread) JBAS015874: WildFly 8.0.0.Final "WildFly" started in 64534ms - Started 229 of 356 services (172 services are lazy, passive or on-demand)

第4步:加入WildFly 8

现在,您可以将浏览器指向的“http://本地主机:8080”(如果使用配置的HTTP端口默认值),为您带来的欢迎屏幕。

Wildfly欢迎屏幕

Wildfly欢迎屏幕

从这里,您可以访问WildFly社区文档指南和增强的基于Web的管理控制台访问。

第5步:管理WildFly 8

WildFly 8提供了两个管理控制台来管理运行实例:

    1. 基于Web的管理控制台
    2. 命令行界面

连接到管理控制台或远程使用命令行之前,你需要创建使用'add-user.sh'脚本在bin文件夹的新用户。

接下来,进入“bin”目录,设置'JBOSS_HOME“add-user.sh(如果变量不是在系统设置基地),并如下创建用户。

[root@howtoing 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 : admin
The username 'admin' is easy to guess
Are you sure you want to add user 'admin' yes/no? yes
Password recommendations are listed below. To modify these restrictions edit the add-user.properties configuration file.
- The password should not be one of the following restricted values {root, admin, administrator}
- The password should contain at least 8 characters, 1 alphanumeric character(s), 1 digit(s), 1 non-alphanumeric symbol(s)
- The password should be different from the username
Password :
Re-enter Password :
What groups do you want this user to belong to? (Please enter a comma separated list, or leave blank for none)[  ]:
About to add user 'admin' for realm 'ManagementRealm'
Is this correct yes/no? yes
Added user 'admin' to file '/data/wildfly-8.0.0.Final/standalone/configuration/mgmt-users.properties'
Added user 'admin' to file /data/wildfly-8.0.0.Final/domain/configuration/mgmt-users.properties'
Added user 'admin' with groups  to file /data/wildfly-8.0.0.Final/standalone/configuration/mgmt-groups.properties'
Added user 'admin' with groups  to file /data/wildfly-8.0.0.Final/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 
Press any key to continue . . .

现在访问基于Web的管理控制台处的“http://本地主机:9990 /控制台 ”并输入新创建的用户名和密码,直接访问管理控制台。

WildFly登录

WildFly登录

第一屏登录后。

WildFly Web面板

WildFly Web面板

如果你喜欢以处理从CLI您的服务器,从提供通过基于Web的用户界面提供同样的功能的“bin”目录下运行'jboss-cli.sh'脚本。

[root@howtoing bin]# cd bin
[root@howtoing bin]# ./jboss-cli.sh --connect
Connected to standalone controller at localhost:9999

欲了解更多信息,请在官方WildFly 8文档https://docs.jboss.org/author/display/WFLY8/Documentation

另请参阅WildFly(JBoss应用服务器) -如何访问和管理CLI使用GUI