Website-Suche

WildFly 8 – Ein neuer verbesserter JBoss-Anwendungsserver für Linux


Wie wir alle wissen, wurde JBoss AS in WildFly umbenannt. Es wurden viele neue Funktionen hinzugefügt und viele wurden aktualisiert. Endlich wurde WildFly 8.0.0 Final am 11. Februar 2014 veröffentlicht. WildFly-Projektleiter Jason Greene gab dasselbe bekannt.

WildFly 8 ist der Java EE 7-kompatible Open-Source-Anwendungsserver von Red Hat. Die Hauptmerkmale sind wie folgt:

Kompatibilität mit Java EE 7

Die größte Änderung dabei ist, dass WildFly 8 jetzt offiziell Java EE7-zertifiziert ist.

Hochleistungs-Webserver

Undertow ist ein neuer, in Java geschriebener Hochleistungs-Webserver. Dies wurde nun in WildFly 8 implementiert. Dieses ist wirklich auf hohen Durchsatz und Skalierbarkeit ausgelegt und kann Millionen von Verbindungen verarbeiten. Der Lebenszyklus von Undertow wird vollständig von der Einbettungsanwendung gesteuert. Dies ist extrem leichtgewichtig, da das Core-JAR eine Größe von 1 MB hat und der eingebettete Server weniger als 4 MB Heap-Speicherplatz benötigt. Das ist wirklich großartig.

3Port-Reduzierung

Da Undertow verwendet wird, das die Aktualisierung von HTTP unterstützt, können mehrere Protokolle über einen einzelnen HTTP-Port gemultiplext werden. WildFly 8 hat fast alle seine Protokolle so verlagert, dass sie über zwei HTTP-Ports gemultiplext werden: einer ist der Verwaltungs- und ein anderer der Anwendungsport. Dies ist wirklich eine große Veränderung und ein Vorteil für Cloud-Anbieter (wie OpenShift), die Hunderte bis Tausende von Instanzen auf einem einzigen Server ausführen. Insgesamt verfügt es über zwei Standardports für die Konfiguration: 9990 (Webadministrationskonsole) und 8080 (Anwendungskonsole).

Rollenbasierte Zugriffskontrolle und Prüfung für das Management

Dies ist die neue und interessante Funktion, die in WildFly 8 implementiert wurde. Auf diese Weise können wir verschiedene Benutzer erstellen und diesen je nach Anforderungen unterschiedliche Rollen zuweisen. Ich zeige es euch später mit Screenshots.

Protokollierung

Die Verwaltungs-API unterstützt jetzt die Möglichkeit, die verfügbaren Protokolldateien auf einem Server aufzulisten und anzuzeigen. Jetzt steht uns das Attribut „add-logging-api-dependencies“ für jede Art von Bereitstellung zur Verfügung, in der wir die Containerprotokollierung überspringen möchten. Dadurch wird das Hinzufügen der impliziten Serverprotokollierungsabhängigkeiten deaktiviert. Wir haben eine andere Option, d. h. wir können eine jboss-deployment-structure.xml verwenden, um das Protokollierungssubsystem auszuschließen. Auf diese Weise können Sie verhindern, dass das Protokollierungssubsystem eine Bereitstellung durchläuft.

Wir können auch einen anderen Parameter verwenden, nämlich use-deployment-logging-config, um die Verarbeitung von Protokollierungskonfigurationsdateien innerhalb einer Bereitstellung zu aktivieren/deaktivieren.

Hinweis: Die Systemeigenschaft, die wir zum Deaktivieren der Protokollierung verwendet haben, ist ab dieser Version veraltet.

Clustering

Auch hier ist eine große Veränderung eine Clusterbildung. Alle Funktionen im Zusammenhang mit der Clustering-Unterstützung wurden in WildFly 8 geändert und umfassen Folgendes:

  1. Die verteilte Websitzung wurde dafür mit dem neuen Java-basierten Webserver, d. h. Undertow, optimiert.
  2. mod_cluster-Unterstützung für Undertow.
  3. Optimierte verteilte SSO-Funktionen (Single Sign-On) und Unterstützung für Undertow.
  4. Neue/optimierte verteilte @Stateful EJB-Caching-Implementierung.
  5. WildFly 8 hat eine neue öffentliche Clustering-API hinzugefügt.
  6. Für die Erstellung von Singleton-Diensten werden neue öffentliche APIs bereitgestellt.
CLI-Verbesserungen

Die CLI-Konfiguration wurde ebenfalls verbessert. Sie wissen, dass alle Administratoren gerne an CLI arbeiten ;). Jetzt können wir einen Alias für einen bestimmten Server erstellen und diesen Alias dann verwenden, wann immer wir mit dem Verbindungsbefehl eine Verbindung zu diesem Server herstellen möchten.

In WildFly 8 wurden noch viele Verbesserungen und Aktualisierungen vorgenommen. Sie können alle diese unter folgender Adresse überprüfen:

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

Installation von WildFly 8 unter Linux

Bevor Sie mit der Installation fortfahren, stellen Sie sicher, dass Java EE 7 auf Ihrem System installiert ist. WildFly 8 funktioniert nicht mit früheren Versionen. Bitte befolgen Sie die nachstehende Anleitung, um Java EE 7 auf den Linux-Systemen zu installieren.

  1. Installieren Sie JDK/JRE 7u25 unter Linux

Schritt 1: WildFly 8 herunterladen

Verwenden Sie den folgenden Link, um die neueste WildFly-Zip-Datei herunterzuladen.

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

Sie können auch den Befehl „wget“ verwenden, um den Download direkt in der Befehlszeile durchzuführen.

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

Kopieren Sie die ZIP-Datei an einen beliebigen Speicherort (z. B. „/data/“ in meinem Fall) und extrahieren Sie sie mit dem Befehl „unzip“.

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

Schritt 2: Umgebungsvariablen festlegen

Legen Sie nun einige Umgebungsvariablen fest. Sie können diese systemweise oder in Ihren Konfigurationsdateien festlegen. Hier stelle ich die Konfigurationsdateien standalone.sh und standalone.conf im Ordner „bin“ ein.

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

Fügen Sie diese beiden folgenden Zeilen zu den Dateien standlone.sh/standlone.conf hinzu. Bitte geben Sie Ihren WildFly-Installationsort und den Java Home-Standort an.

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

Hinweis: Für das gesamte System können Sie es in der Datei „/etc/profile“ festlegen.

Schritt 3: WildFly 8 starten

Starten Sie nun den Server, d. h. für den Standalone-Modus verwenden Sie „standalone.sh“ und für den Domänenmodus „domain.sh“.

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

Aber hier beginne ich im Standalone-Modus. Standardmäßig wird es mit der Datei „standalone.xml“ gestartet. Sie können jedoch auch mit einer anderen Konfiguration beginnen, indem Sie die Option „–server-config“ verwenden.

Wie unten gezeigt, starte ich den Server mit „standalone-full-ha.xml“ und diese Datei ist in „$JBOSS_HOME/standalone(profile)/configuration/“ vorhanden.

[root@tecmint bin]# ./standalone.sh --server-config standalone-full-ha.xml
Beispielausgabe
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)

Schritt 4: Zugriff auf WildFly 8

Jetzt können Sie Ihren Browser auf „http://localhost:8080“ verweisen (wenn Sie den standardmäßig konfigurierten http-Port verwenden), wodurch Sie zum Begrüßungsbildschirm gelangen.

Von hier aus können Sie auf die Dokumentationshandbücher der WildFly-Community zugreifen und auf den erweiterten webbasierten Zugriff auf die Verwaltungskonsole zugreifen.

Schritt 5: WildFly 8 verwalten

WildFly 8 bietet zwei Verwaltungskonsolen zur Verwaltung laufender Instanzen:

    1. webbasierte Verwaltungskonsole
    2. Befehlszeilenschnittstelle

Bevor Sie eine Verbindung zur Verwaltungskonsole herstellen oder remote über die Befehlszeile verwenden, müssen Sie mit dem Skript „add-user.sh“ im Ordner bin einen neuen Benutzer erstellen.

Gehen Sie als Nächstes in das Verzeichnis „bin“ und legen Sie „JBOSS_HOME“ in add-user.sh fest (falls die Variable nicht systembasiert festgelegt ist). und erstellen Sie einen Benutzer wie unten.

[root@tecmint bin]# ./add-user.sh

Sobald Sie das Skript starten, werden Sie durch den Prozess zum Hinzufügen eines neuen Benutzers geführt:

Beispielausgabe
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 . . .

Greifen Sie nun auf die webbasierte Verwaltungskonsole unter „http://localhost:9990/console“ zu und geben Sie den neu erstellten Benutzernamen und das Passwort ein, um direkt auf die Verwaltungskonsole zuzugreifen.

Erster Bildschirm nach der Anmeldung.

Wenn Sie Ihren Server lieber über die CLI verwalten möchten, führen Sie das Skript „jboss-cli.sh“ aus dem Verzeichnis „bin“ aus die gleichen Funktionen, die über die webbasierte Benutzeroberfläche verfügbar sind.

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

Weitere Informationen finden Sie in der offiziellen WildFly 8-Dokumentation unter https://docs.jboss.org/author/display/WFLY8/Documentation.

Lesen Sie auch: WildFly (JBoss AS) – So greifen Sie über die GUI auf die CLI zu und verwalten sie