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í:
- Distribuovaná webová relace pro ni byla optimalizována pomocí nového webového serveru založeného na Java, tj. Undertow.
- podpora mod_cluster pro Undertow.
- Optimalizované možnosti distribuovaného jednotného přihlášení (Single Sign-On) a podpora pro Undertow.
- Nová/optimalizovaná distribuovaná implementace mezipaměti @Stateful EJB.
- WildFly 8 přidal nějaké nové veřejné klastrovací API.
- 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:
- 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.
- 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.
- 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:
- webová konzole pro správu
- 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