WildFly 8 - En ny forbedret JBoss Application Server for Linux


Som vi alle vet har JBoss AS blitt omdøpt til WildFly. Mange nye funksjoner er lagt til og mange er oppgradert. Endelig har WildFly 8.0.0 Final blitt utgitt 11. februar 2014. WildFly-prosjektleder Jason Greene kunngjorde det samme.

WildFly 8 er Red Hats Java EE 7-kompatible åpen kildekode-applikasjonsserver. Hovedfunksjonene er som nedenfor:

Den største endringen i dette er at nå er WildFly 8 offisiell Java EE7-sertifisert.

Undertow er en ny høyytelses webserver skrevet i Java. Nå er dette implementert i WildFly 8. Dette er virkelig designet for høy gjennomstrømning og skalerbarhet og kan håndtere millioner av tilkoblinger. Undertows livssyklus er fullstendig kontrollert av innebyggingsapplikasjonen. Dette er ekstremt lett med en kjernebeholder på 1 MB og en innebygd server som bruker mindre enn 4 MB haugplass. Dette er virkelig flott.

Siden den bruker Undertow som støtter oppgradering av HTTP, som vil tillate flere protokoller å multiplekses over en enkelt HTTP-port. WildFly 8 har flyttet nesten alle protokollene sine for å bli multiplekset over to HTTP-porter: en er administrasjon og en annen er applikasjonsport. Dette er virkelig en stor endring og fordel for skyleverandører (som OpenShift) som kjører hundrevis til tusenvis av forekomster på en enkelt server. Totalt har den to standardporter for konfigurasjon og de er 9990 (Web Administration Console) og 8080 (Application Console).

Dette er den nye og interessante tingen implementert i WildFly 8. Ved å bruke dette kan vi opprette forskjellige brukere og tilordne disse til forskjellige roller i henhold til kravene. Jeg viser deg senere med skjermbilder.

Management API støtter nå muligheten til å liste og vise tilgjengelige loggfiler på en server. Nå har vi attributtet «add-logging-api-dependencies» tilgjengelig for alle typer distribusjoner der vi ønsker å hoppe over containerlogging. Dette vil deaktivere tilføyelsen av implisitte serverloggingsavhengigheter. Vi har et annet alternativ, dvs. vi kan bruk en jboss-deployment-structure.xml for å ekskludere loggingsdelsystemet. Ved å bruke dette vil det bidra til å stoppe loggingundersystemet fra å gå gjennom en distribusjon.

Vi kan også bruke en annen parameter, dvs. use-deployment-logging-config, for å aktivere/deaktivere behandling av loggingskonfigurasjonsfiler i en distribusjon.

Merk: Systemegenskapen som vi brukte for å deaktivere per logging er avviklet fra denne versjonen.

Igjen Stor endring er én klynging. Alle funksjoner relatert til Clustering-støtte var endret i WildFly 8, og disse inkluderer som nedenfor:

  1. Distribuert nettøkt har blitt optimalisert for det med ny Java-basert nettserver, dvs. Undertow.
  2. mod_cluster-støtte for Undertow.
  3. Optimalisert distribuert SSO (Single Sign-On)-funksjoner og støtte for Undertow.
  4. Ny/optimalisert distribuert @Stateful EJB cachingimplementering.
  5. WildFly 8 la til noen nye offentlige clustering API.
  6. For å lage singleton-tjenester gir den nye offentlige API-er.

CLI-konfigurasjonen er også forbedret. Du vet at alle admin elsker å jobbe med CLI ;). Så nå kan vi lage alias for en bestemt server og deretter bruke det aliaset når som helst vi ønsker å koble til den serveren ved å bruke connect-kommandoen.

Det er fortsatt mange forbedringer og oppdateringer gjort i WildFly 8. Du kan sjekke alle disse på:

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

Installasjon av WildFly 8 i Linux

Før du går videre med installasjonen, sørg for at du har Java EE 7 installert på systemet ditt. WildFly 8 vil ikke fungere med tidligere revisjoner. Følg veiledningen nedenfor for å installere Java EE 7 i Linux-systemene.

  1. Installer JDK/JRE 7u25 i Linux

Bruk følgende lenke for å laste ned den nyeste WildFly zip-filen.

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

Du kan også bruke 'wget'-kommandoen for å laste ned direkte på kommandolinjen.

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

Kopier zip-filen til en hvilken som helst foretrukket plassering (f.eks. '/data/' i mitt tilfelle) og pakk ut ved å bruke 'unzip'-kommandoen.

 cp wildfly-8.0.0.Final.zip /data/
 cd /data/
 unzip wildfly-8.0.0.Final.zip

Still inn noen miljøvariabler. Du kan sette disse på systemmessig eller i konfigurasjonsfilene dine. Her setter jeg inn i konfigurasjonsfilene standalone.sh og standalone.conf i 'bin'-mappen.

 cd wildfly-8.0.0.Final
 cd bin/

Legg til disse to følgende linjene til standlone.sh/standlone.conf-filer. Vennligst spesifiser din WildFly-installasjonsplassering og Java Home-plassering.

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

Merk: For hele systemet kan du sette det under '/etc/profile'-filen.

Start nå serveren, dvs. for frittstående modus bruk 'standalone.sh' og for domenemodus bruk 'domain.sh'.

 ./standalone.sh
 ./domain.sh

Men her begynner jeg i frittstående modus. Som standard vil den starte med 'standalone.xml'-fil, men du kan også starte med en annen konfigurasjon ved å bruke '–server-config'-alternativet.

Som nedenfor starter jeg serveren med 'standalone-full-ha.xml' og denne filen er til stede i \$JBOSS_HOME/standalone(profile)/configuration/.

 ./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)

Nå kan du peke nettleseren til 'http://localhost:8080' (hvis du bruker den standardkonfigurerte http-porten) som bringer deg til velkomstskjermen.

Herfra kan du få tilgang til WildFly fellesskapsdokumentasjonsveiledninger og forbedret nettbasert administrasjonskonsolltilgang.

WildFly 8 har to administrative konsoller for å administrere kjørende forekomst:

    1. nettbasert administrasjonskonsoll
    2. kommandolinjegrensesnitt

    Før du kobler til administrasjonskonsollen eller eksternt ved å bruke kommandolinjen, må du opprette en ny bruker ved å bruke ‘add-user.sh’-skriptet i bin-mappen.

    Gå deretter til 'bin'-katalogen, sett 'JBOSS_HOME' i add-user.sh (hvis variabel ikke er satt på systembaser) og opprett bruker som nedenfor.

     ./add-user.sh

    Når du har startet skriptet, vil du bli guidet gjennom prosessen for å legge til en ny bruker:

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

    Gå nå til den nettbaserte administrasjonskonsollen på 'http://localhost:9990/console' og skriv inn det nye opprettede brukernavnet og passordet for å få direkte tilgang til administrasjonskonsollen.

    Første skjermbilde etter pålogging.

    Hvis du foretrekker å håndtere serveren din fra CLI, kjør 'jboss-cli.sh'-skriptet fra 'bin'-katalogen som tilbyr de samme funksjonene som er tilgjengelige via det nettbaserte brukergrensesnittet.

     cd bin
     ./jboss-cli.sh --connect
    Connected to standalone controller at localhost:9999

    For mer informasjon, følg den offisielle WildFly 8-dokumentasjonen på https://docs.jboss.org/author/display/WFLY8/Documentation.