WildFly 8 - nov izboljšani strežnik aplikacij JBoss za Linux


Kot vsi vemo, da je bil JBoss AS preimenovan v WildFly. Veliko novih funkcij je bilo dodanih in veliko nadgrajenih. Končno je WildFly 8.0.0 Final izdan 11. februarja 2014. Vodja projekta WildFly Jason Greene je to napovedal.

WildFly 8 je odprtokodni aplikacijski strežnik, ki podpira Red Hat, Java EE 7. Glavne značilnosti so spodaj:

Največja sprememba pri tem je, da je WildFly 8 zdaj uradno certificiran za Java EE7.

Undertow je nov visoko zmogljiv spletni strežnik, napisan v Javi. Zdaj je to implementirano v WildFly 8. Ta je resnično zasnovan za visoko prepustnost in razširljivost in zmore milijone povezav. Življenjski cikel Undertowa popolnoma nadzoruje aplikacija za vdelavo. Ta je izjemno lahek z jedrskim kozarcem velikosti 1 MB in vgrajenim strežnikom, ki uporablja manj kot 4 MB prostora na kupu. To je res super.

Ker uporablja Undertow, ki podpira nadgradnjo HTTP, kar bo omogočilo multipleksiranje več protokolov prek enih vrat HTTP. WildFly 8 je skoraj vse svoje protokole preselil v dva multipleksa HTTP: ena je upravljanje in druga aplikacija. To je res velika sprememba in korist za ponudnike oblakov (kot je OpenShift), ki izvajajo na stotine do tisoče primerkov na enem strežniku. Skupaj ima dva privzeta vrata za konfiguracijo, in sicer 9990 (spletna skrbniška konzola) in 8080 (aplikacijska konzola).

To je nova in zanimiva stvar, uvedena v WildFly 8. Z uporabo tega lahko ustvarimo različne uporabnike in jih lahko dodelimo različnim vlogam glede na zahteve. Kasneje vam pokažem s posnetki zaslona.

API za upravljanje zdaj podpira možnost seznama in ogleda razpoložljivih dnevniških datotek na strežniku. Zdaj imamo na voljo atribut, imenovan\"add-logging-api-dependencies", ki je na voljo za kakršne koli razmestitve, pri katerih želimo preskočiti beleženje kontejnerjev. To bo onemogočilo dodajanje implicitnih odvisnosti beleženja strežnika. Imamo še eno možnost, tj. uporabite jboss-deployment-structure.xml, da izključite dnevniški podsistem, ki bo pomagal preprečiti, da bi dnevniški podsistem šel skozi kakršno koli razmestitev.

Za omogočanje/onemogočanje obdelave konfiguracijskih datotek dnevnika znotraj razmestitve lahko uporabimo tudi drug parameter, tj. Use-deployment-logging-config.

Opomba: Sistemska lastnost, ki smo jo uporabljali za onemogočanje vsakega dnevnika, je iz te različice zastarela.

Spet velika sprememba je eno združevanje. Vse funkcije, povezane s podporo za grozdenje, so bile spremenjene v WildFly 8 in vključujejo naslednje:

  1. Porazdeljena spletna seja je zanjo optimizirana z novim spletnim strežnikom, ki temelji na Javi, tj. Undertow.
  2. mod_cluster podpora za Undertow.
  3. Optimizirane zmogljivosti porazdeljene distribucije enotne prijave (Single Sign-On) in podpora za Undertow.
  4. Nova/optimizirana porazdeljena izvedba predpomnjenja @Stateful EJB.
  5. WildFly 8 je dodal nekaj novega API-ja za javno združevanje v skupine.
  6. Za ustvarjanje enojnih storitev ponuja nove javne API-je.

Izboljšana je bila tudi konfiguracija CLI. Veste, da vsi skrbniki radi delajo na CLI;). Torej, zdaj lahko ustvarimo vzdevek za določen strežnik in ga nato lahko uporabimo, kadar koli se želimo povezati s tem strežnikom z ukazom connect.

V WildFly 8. je še vedno veliko izboljšav in posodobitev. Vse to lahko preverite na:

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

Namestitev WildFly 8 v Linux

Preden nadaljujete z namestitvijo, preverite, ali je v vašem sistemu nameščena Java EE 7. WildFly 8 ne bo deloval s prejšnjimi popravki. Za namestitev Java EE 7 v sisteme Linux sledite spodnjim navodilom.

  1. Namestite JDK/JRE 7u25 v Linux

Za prenos najnovejše zip datoteke WildFly uporabite naslednjo povezavo.

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

Ukaz ‘wget’ lahko uporabite tudi za prenos neposredno v ukazno vrstico.

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

Kopirajte zip datoteko na katero koli želeno mesto (npr. '/ Data /' v mojem primeru) in izvlecite z ukazom 'unzip'.

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

Zdaj nastavite nekaj spremenljivk okolja. Te lahko nastavite sistemsko ali znotraj konfiguracijskih datotek. Tu nastavljam znotraj konfiguracijskih datotek standalone.sh in standalone.conf v mapi »bin«.

 cd wildfly-8.0.0.Final
 cd bin/

Ti dve vrstici dodajte v datoteke standlone.sh/standlone.conf. Navedite svoje namestitveno mesto WildFly in lokacijo Java Home.

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

Opomba: Za celoten sistem lahko to nastavite v datoteki '/ etc/profile'.

Zdaj zaženite strežnik, tj. Za samostojni način uporabite »standalone.sh«, za domenski način pa »domain.sh«.

 ./standalone.sh
 ./domain.sh

Tu pa začenjam v samostojnem načinu. Privzeto se začne z datoteko ‘standalone.xml’, lahko pa začnete tudi z drugo konfiguracijo z možnostjo – –server-config ‘.

Kot spodaj začenjam strežnik z 'standalone-full-ha.xml' in ta datoteka je prisotna v\"$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)

Zdaj lahko svoj brskalnik usmerite na »http:// localhost: 8080« (če uporabljate privzeta konfigurirana vrata http), ki vas pripelje na pozdravni zaslon.

Od tu lahko dostopate do vodnikov dokumentacije skupnosti WildFly in izboljšanega dostopa do skrbniške konzole prek spletne strani.

WildFly 8 ponuja dve skrbniški konzoli za upravljanje delujočega primerka:

    1. spletna skrbniška konzola
    2. vmesnik ukazne vrstice

    Preden se povežete s skrbniško konzolo ali na daljavo z ukazno vrstico, morate z uporabo skripta ‘add-user.sh’ v mapi bin ustvariti novega uporabnika.

    Nato pojdite v imenik "bin", v add-user.sh nastavite "JBOSS_HOME" (če spremenljivka ni nastavljena na sistemskih osnovah) in ustvarite uporabnika, kot je prikazano spodaj.

     ./add-user.sh

    Po zagonu skripta vas bodo vodili skozi postopek dodajanja novega uporabnika:

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

    Zdaj odprite spletno skrbniško konzolo na naslovu ‘http:// localhost: 9990/console’ in vnesite novo ustvarjeno uporabniško ime in geslo za neposreden dostop do konzole za upravljanje.

    Prvi zaslon Po prijavi.

    Če raje s strežnikom ravnate s CLI, zaženite skript "jboss-cli.sh" iz imenika "bin", ki ponuja enake možnosti, ki so na voljo prek spletnega uporabniškega vmesnika.

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

    Za več informacij sledite uradni dokumentaciji WildFly 8 na https://docs.jboss.org/author/display/WFLY8/Documentation.