Zoeken op website

WildFly 8 - Een nieuwe, verbeterde JBoss-toepassingsserver voor Linux


Zoals we allemaal weten is JBoss AS hernoemd naar WildFly. Er zijn veel nieuwe functies toegevoegd en veel ervan zijn geüpgraded. Eindelijk is WildFly 8.0.0 Final uitgebracht op 11 februari 2014. WildFly Project leider Jason Greene heeft hetzelfde aangekondigd.

WildFly 8 is de Java EE 7-compatibele open source-applicatieserver van Red Hat. De belangrijkste kenmerken zijn zoals hieronder:

Java EE 7-compatibiliteit

De grootste verandering hierin is dat WildFly 8 nu officieel Java EE7 Certified is.

Hoogwaardige webserver

Undertow is een nieuwe, krachtige webserver geschreven in Java. Nu is dit geïmplementeerd in WildFly 8. Dit is echt ontworpen voor hoge doorvoer en schaalbaarheid en kan miljoenen verbindingen aan. De levenscyclus van Undertow wordt volledig bepaald door de inbeddingsapplicatie. Dit is extreem licht van gewicht, waarbij de kernpot een grootte heeft van 1 MB en de ingebouwde server minder dan 4 MB heapruimte gebruikt. Dit is echt geweldig.

3Poortreductie

Omdat het Undertow gebruikt die ondersteuning biedt voor het upgraden van HTTP, waardoor meerdere protocollen kunnen worden gemultiplext via een enkele HTTP-poort. WildFly 8 heeft bijna al zijn protocollen verplaatst om te worden gemultiplext over twee HTTP-poorten: de ene is beheerpoort en de andere is applicatiepoort. Dit is echt een grote verandering en voordeel voor cloudproviders (zoals OpenShift) die honderden tot duizenden instances op één server draaien. In totaal heeft het twee standaardpoorten voor configuratie: 9990 (webbeheerconsole) en 8080 (toepassingsconsole).

Op rollen gebaseerde toegangscontrole en auditing op managementniveau

Dit is het nieuwe en interessante dat is geïmplementeerd in WildFly 8. Door dit te gebruiken kunnen we verschillende gebruikers creëren en deze afhankelijk van de vereisten aan verschillende rollen toewijzen. Ik laat het je later zien met schermafbeeldingen.

Loggen

De beheer-API ondersteunt nu de mogelijkheid om de beschikbare logbestanden op een server weer te geven en te bekijken. Nu hebben we het attribuut “add-logging-api-dependencies” beschikbaar voor elk type implementatie waarin we containerlogboekregistratie willen overslaan. Hierdoor wordt het toevoegen van de impliciete serverlogboekafhankelijkheden uitgeschakeld. We hebben nog een andere optie, d.w.z. we kunnen jboss-deployment-structure.xml gebruiken om het logsubsysteem uit te sluiten. Als u dit gebruikt, kunt u voorkomen dat het logboeksubsysteem enige implementatie doormaakt.

We kunnen ook gebruik maken van een andere parameter, namelijk use-deployment-logging-config, voor het in-/uitschakelen van de verwerking van logconfiguratiebestanden binnen een implementatie.

Opmerking: de systeemeigenschap die we gebruikten voor het uitschakelen van logboekregistratie is in deze versie verouderd.

Clustering

Opnieuw is Grote verandering één clustering. Alle functies met betrekking tot Clustering-ondersteuning zijn gewijzigd in WildFly 8 en deze omvatten zoals hieronder:

  1. Gedistribueerde websessie is hiervoor geoptimaliseerd met de nieuwe Java-gebaseerde webserver, d.w.z. Undertow.
  2. mod_cluster-ondersteuning voor Undertow.
  3. Geoptimaliseerde gedistribueerde SSO-mogelijkheden (Single Sign-On) en ondersteuning voor Undertow.
  4. Nieuwe/geoptimaliseerde gedistribueerde @Stateful EJB caching-implementatie.
  5. WildFly 8 heeft een aantal nieuwe openbare clustering-API toegevoegd.
  6. Voor het creëren van singleton-services biedt het nieuwe openbare API's.
CLI-verbeteringen

CLI-configuratie is ook verbeterd. Weet je, alle beheerders werken graag aan CLI ;). Nu kunnen we dus een alias voor een bepaalde server maken en die alias vervolgens gebruiken wanneer we verbinding willen maken met die server met behulp van de connect-opdracht.

Er zijn nog steeds veel verbeteringen en updates gedaan in WildFly 8. Je kunt deze allemaal bekijken op:

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

Installatie van WildFly 8 onder Linux

Voordat u verdergaat met de installatie, moet u ervoor zorgen dat Java EE 7 op uw systeem is geïnstalleerd. WildFly 8 werkt niet met eerdere revisies. Volg de onderstaande gids om Java EE 7 op Linux-systemen te installeren.

  1. Installeer JDK/JRE 7u25 onder Linux

Stap 1: WildFly 8 downloaden

Gebruik de volgende link om het nieuwste WildFly-zipbestand te downloaden.

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

U kunt ook de opdracht ‘wget’ gebruiken om rechtstreeks vanaf de opdrachtregel te downloaden.

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

Kopieer het zip-bestand naar elke gewenste locatie (bijvoorbeeld ‘/data/’ in mijn geval) en pak het uit met de opdracht ‘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

Stap 2: Omgevingsvariabelen instellen

Stel nu enkele omgevingsvariabelen in. U kunt deze systeemmatig of binnen uw configuratiebestanden instellen. Hier stel ik in de configuratiebestanden standalone.sh en standalone.conf in de map ‘bin‘ in.

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

Voeg deze twee volgende regels toe aan standlone.sh/standlone.conf bestanden. Geef uw WildFly-installatielocatie en Java Home-locatie op.

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

Opmerking: voor het hele systeem kunt u dit instellen onder het bestand ‘/etc/profile’.

Stap 3: WildFly 8 starten

Start nu de server, d.w.z. gebruik voor de standalone-modus ‘standalone.sh‘ en voor de domeinmodus gebruik ‘domain.sh‘.

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

Maar hier begin ik in de standalone-modus. Standaard wordt het gestart met het ‘standalone.xml‘ bestand, maar u kunt ook beginnen met een andere configuratie met behulp van de ‘–server-config‘ optie.

Zoals hieronder start ik de server met ‘standalone-full-ha.xml’ en dit bestand is aanwezig in “$JBOSS_HOME/standalone(profile)/configuration/”.

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

Stap 4: Toegang tot WildFly 8

Nu kunt u uw browser naar ‘http://localhost:8080’ verwijzen (als u de standaard geconfigureerde http-poort gebruikt), waardoor u naar het welkomstscherm gaat.

Vanaf hier heeft u toegang tot de documentatiehandleidingen van de WildFly-gemeenschap en verbeterde webgebaseerde toegang tot de beheerconsole.

Stap 5: WildFly beheren 8

WildFly 8 biedt twee beheerconsoles voor het beheren van actieve exemplaren:

    1. webgebaseerde beheerconsole
    2. opdrachtregelinterface

Voordat u verbinding maakt met de beheerconsole of op afstand via de opdrachtregel, moet u een nieuwe gebruiker aanmaken met behulp van het script ‘add-user.sh‘ in de map bin.

Ga vervolgens naar de map 'bin' en stel 'JBOSS_HOME' in add-user.sh in (als de variabele niet is ingesteld op systeembasis) en maak een gebruiker zoals hieronder.

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

Zodra u het script start, wordt u door het proces geleid om een nieuwe gebruiker toe te voegen:

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

Ga nu naar de webgebaseerde beheerconsole op ‘http://localhost:9990/console’ en voer de nieuw gemaakte gebruikersnaam en wachtwoord in om rechtstreeks toegang te krijgen tot de beheerconsole.

Eerste scherm na inloggen.

Als u uw server liever via de CLI beheert, voert u het script 'jboss-cli.sh' uit vanuit de directory 'bin' die dezelfde mogelijkheden die beschikbaar zijn via de webgebaseerde gebruikersinterface.

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

Voor meer informatie volgt u de officiële WildFly 8-documentatie op https://docs.jboss.org/author/display/WFLY8/Documentation.

Lees ook: WildFly (JBoss AS) – CLI openen en beheren met behulp van GUI