Vyhledávání na webu

WildFly 8 - Nový vylepšený aplikační server JBoss pro Linux


Jak všichni víme, JBoss AS byl přejmenován na WildFly. Bylo přidáno mnoho nových funkcí a mnoho bylo upgradováno. Konečně 11. února 2014 byla vydána verze WildFly 8.0.0 Final. WildFly Project Vedoucí Jason Greene oznámil totéž.

WildFly 8 je open source aplikační server Java EE 7 kompatibilní s Red Hat. Hlavní funkce jsou uvedeny níže:

Kompatibilita s Java EE 7

Největší změnou je, že nyní má WildFly 8 oficiální certifikaci Java EE7.

Vysoce výkonný webový server

Undertow je nový vysoce výkonný webový server napsaný v Javě. Nyní to bylo implementováno do WildFly 8. Toto je skutečně navrženo pro vysokou propustnost a škálovatelnost a zvládne miliony připojení. Životní cyklus Undertow je zcela řízen aplikací pro vkládání. To je extrémně lehké, jádro jar má velikost 1 MB a vestavěný server využívá méně než 4 MB prostoru haldy. To je opravdu skvělé.

3Port Redukce

Protože používá Undertow, který podporuje Upgrading HTTP, což umožní multiplexovat více protokolů přes jediný HTTP port. WildFly 8 přesunul téměř všechny své protokoly tak, aby byly multiplexovány přes dva HTTP porty: jeden je management a druhý je aplikační port. To je opravdu velká změna a výhoda pro poskytovatele cloudu (jako je OpenShift), kteří provozují stovky až tisíce instancí na jediném serveru. Celkem má dva výchozí porty pro konfiguraci, a to 9990 (Web Administration Console) a 8080 (Application Console).

Management Role Based Access Control & Auditing

Toto je nová a zajímavá věc implementovaná ve WildFly 8. Pomocí toho můžeme vytvořit různé uživatele a přiřadit jim různé role podle požadavků. Ukážu vám to později se snímky obrazovky.

Protokolování

Rozhraní API pro správu nyní podporuje možnost vypisovat a zobrazovat dostupné soubory protokolu na serveru. Nyní máme atribut nazvaný „add-logging-api-dependencies“ dostupný pro jakýkoli druh nasazení, ve kterém chceme přeskočit protokolování kontejnerů. Tím zakážete přidávání implicitních závislostí protokolování serveru. Máme další možnost, tj. můžeme použít jboss-deployment-structure.xml k vyloučení subsystému protokolování. Pomocí toho to pomůže zabránit tomu, aby protokolovací subsystém prošel jakýmkoli nasazením.

Můžeme také použít jiný parametr, tj. use-deployment-logging-config pro povolení/zakázání zpracování konfiguračních souborů protokolování v rámci nasazení.

Poznámka: Vlastnost systému, kterou jsme používali pro deaktivaci protokolování, byla v této verzi zastaralá.

Shlukování

Opět velkou změnou je jeden shluk. Všechny funkce související s podporou Clustering byly ve WildFly 8 změněny a zahrnují následující:

  1. Distribuovaná webová relace pro ni byla optimalizována pomocí nového webového serveru založeného na Java, tj. Undertow.
  2. podpora mod_cluster pro Undertow.
  3. Optimalizované možnosti distribuovaného jednotného přihlášení (Single Sign-On) a podpora pro Undertow.
  4. Nová/optimalizovaná distribuovaná implementace mezipaměti @Stateful EJB.
  5. WildFly 8 přidal nějaké nové veřejné klastrovací API.
  6. Pro vytváření singleton služeb poskytuje nová veřejná API.
Vylepšení CLI

Vylepšena byla také konfigurace CLI. Všichni administrátoři rádi pracují na CLI ;). Nyní tedy můžeme vytvořit alias pro konkrétní server a pak tento alias použít, kdykoli se budete chtít k tomuto serveru připojit pomocí příkazu connect.

Ve WildFly 8 je stále provedeno mnoho vylepšení a aktualizací. Všechny tyto můžete zkontrolovat na:

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

Instalace WildFly 8 v Linuxu

Než budete pokračovat s instalací, ujistěte se, že máte v systému nainstalovanou Java EE 7. WildFly 8 nebude fungovat s předchozími revizemi. Při instalaci Java EE 7 v systémech Linux postupujte podle níže uvedeného průvodce.

  1. Nainstalujte JDK/JRE 7u25 v Linuxu

Krok 1: Stažení WildFly 8

Pro stažení nejnovějšího zip souboru WildFly použijte následující odkaz.

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

Můžete také použít příkaz „wget“ ke stažení přímo z příkazového řádku.

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

Zkopírujte soubor zip do libovolného preferovaného umístění (např. „/data/“ v mém případě) a extrahujte pomocí příkazu „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

Krok 2: Nastavení proměnných prostředí

Nyní nastavte některé proměnné prostředí. Můžete je nastavit v systému nebo v konfiguračních souborech. Zde nastavuji v konfiguračních souborech standalone.sh a standalone.conf ve složce „bin“.

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

Přidejte tyto dva následující řádky do souborů standlone.sh/standlone.conf. Zadejte prosím své umístění instalace WildFly a domovské umístění Java.

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

Poznámka: Pro celý systém to můžete nastavit v souboru „/etc/profile“.

Krok 3: Spuštění WildFly 8

Nyní spusťte server, tj. pro samostatný režim použijte „standalone.sh“ a pro režim domény použijte „domena.sh“.

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

Zde však začínám v samostatném režimu. Ve výchozím nastavení se spustí souborem „standalone.xml“, ale můžete také začít s jinou konfigurací pomocí možnosti „–server-config“.

Jak je uvedeno níže, spouštím server s „standalone-full-ha.xml“ a tento soubor je přítomen v „$JBOSS_HOME/standalone(profile)/configuration/ “.

[root@tecmint bin]# ./standalone.sh --server-config standalone-full-ha.xml
Ukázkový výstup
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)

Krok 4: Přístup k WildFly 8

Nyní můžete svůj prohlížeč nasměrovat na „http://localhost:8080“ (pokud používáte výchozí nakonfigurovaný port http), který vás přenese na uvítací obrazovku.

Odtud máte přístup k dokumentačním příručkám komunity WildFly a vylepšenému webovému přístupu ke konzole pro správu.

Krok 5: Správa WildFly 8

WildFly 8 poskytuje dvě administrativní konzoly pro správu spuštěné instance:

    1. webová konzole pro správu
    2. rozhraní příkazového řádku

Před připojením k administrační konzoli nebo vzdáleným připojením pomocí příkazového řádku budete muset vytvořit nového uživatele pomocí skriptu „add-user.sh“ ve složce bin.

Dále přejděte do adresáře 'bin', nastavte 'JBOSS_HOME' v add-user.sh (pokud proměnná není nastavena na systémových základech) a vytvořte uživatele, jak je uvedeno níže.

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

Po spuštění skriptu budete provedeni procesem přidání nového uživatele:

Ukázkový výstup
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 . . .

Nyní otevřete webovou konzolu pro správu na adrese „http://localhost:9990/console“ a zadejte nově vytvořené uživatelské jméno a heslo pro přímý přístup do konzoly pro správu.

První obrazovka po přihlášení.

Pokud dáváte přednost obsluze serveru z CLI, spusťte skript 'jboss-cli.sh' z adresáře 'bin', který nabízí stejné možnosti dostupné prostřednictvím webového uživatelského rozhraní.

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

Další informace naleznete v oficiální dokumentaci WildFly 8 na adrese https://docs.jboss.org/author/display/WFLY8/Documentation.

Přečtěte si také: WildFly (JBoss AS) – Jak získat přístup a spravovat CLI pomocí GUI