Wyszukiwanie w witrynie

WildFly 8 — nowy, ulepszony serwer aplikacji JBoss dla systemu Linux


Jak wszyscy wiemy, nazwa JBoss AS została zmieniona na WildFly. Dodano wiele nowych funkcji i wiele zmodernizowano. Wreszcie wersja finalna WildFly 8.0.0 została wydana 11 lutego 2014. Lider projektu WildFly, Jason Greene, ogłosił to samo.

WildFly 8 to serwer aplikacji typu open source firmy Red Hat zgodny z Java EE 7. Główne cechy są jak poniżej:

Zgodność z Javą EE 7

Największą zmianą jest to, że teraz WildFly 8 posiada oficjalny certyfikat Java EE7.

Serwer WWW o wysokiej wydajności

Undertow to nowy, wysokowydajny serwer WWW napisany w języku Java. Teraz zostało to zaimplementowane w WildFly 8. Zostało to naprawdę zaprojektowane z myślą o wysokiej przepustowości i skalowalności oraz może obsłużyć miliony połączeń. Cykl życia Undertow jest całkowicie kontrolowany przez aplikację do osadzania. Jest to niezwykle lekki plik z rdzeniem jar o rozmiarze 1 MB i wbudowanym serwerem zajmującym mniej niż 4 MB przestrzeni na stercie. To jest naprawdę świetne.

Redukcja 3 portów

Ponieważ korzysta z Undertow, które obsługuje aktualizację HTTP, co umożliwi multipleksowanie wielu protokołów na jednym porcie HTTP. WildFly 8 przeniósł prawie wszystkie swoje protokoły do multipleksowania przez dwa porty HTTP: jeden to port zarządzania, a drugi to port aplikacji. To naprawdę duża zmiana i korzyść dla dostawców usług chmurowych (takich jak OpenShift), którzy uruchamiają setki, a nawet tysiące instancji na jednym serwerze. W sumie ma dwa domyślne porty do konfiguracji i są to 9990 (konsola administracyjna WWW) i 8080 (konsola aplikacji).

Zarządzanie kontrolą dostępu i audytem w oparciu o role

Jest to nowa i interesująca rzecz zaimplementowana w WildFly 8. Dzięki temu możemy tworzyć różnych użytkowników i przypisywać im różne role zgodnie z wymaganiami. Pokażę później na zrzutach ekranu.

Logowanie

Interfejs API zarządzania obsługuje teraz możliwość wyświetlania i wyświetlania dostępnych plików dziennika na serwerze. Teraz mamy atrybut o nazwie „add-logging-api-dependents” dostępny dla każdego rodzaju wdrożeń, w których chcemy pominąć rejestrowanie kontenerów. Spowoduje to wyłączenie dodawania ukrytych zależności rejestrowania serwera. Mamy inną opcję, tj. możemy użyć pliku jboss-deployment-structure.xml, aby wykluczyć podsystem logowania. Dzięki temu podsystem rejestrujący nie będzie przechodził żadnego wdrożenia.

Możemy również skorzystać z innego parametru, np. use-deployment-logging-config, aby włączyć/wyłączyć przetwarzanie plików konfiguracyjnych rejestrowania w ramach wdrożenia.

Uwaga: właściwość systemowa, której używaliśmy do wyłączania podczas rejestrowania, została w tej wersji przestarzała.

Grupowanie

Ponownie, duża zmiana to jedno grupowanie. Wszystkie funkcje związane z obsługą klastrowania zostały zmienione w WildFly 8 i obejmują one:

  1. Rozproszona sesja internetowa została do tego zoptymalizowana dzięki nowemu serwerowi internetowemu opartemu na Javie, tj. Undertow.
  2. obsługa mod_cluster dla Undertow.
  3. Zoptymalizowane możliwości rozproszonego logowania jednokrotnego (Single Sign-On) i obsługa Undertow.
  4. Nowa/zoptymalizowana implementacja rozproszonego buforowania @Stateful EJB.
  5. WildFly 8 dodał nowy interfejs API klastrów publicznych.
  6. Do tworzenia usług singleton udostępnia nowe publiczne API.
Ulepszenia interfejsu wiersza polecenia

Poprawiono także konfigurację CLI. Wiesz, że wszyscy administratorzy uwielbiają pracować nad CLI ;). Zatem teraz możemy utworzyć alias dla konkretnego serwera, a następnie używać go za każdym razem, gdy chcemy połączyć się z tym serwerem za pomocą polecenia connect.

W WildFly 8 wprowadzono jeszcze wiele ulepszeń i aktualizacji. Możesz je wszystkie sprawdzić pod adresem:

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

Instalacja WildFly 8 w systemie Linux

Zanim przystąpisz do instalacji, upewnij się, że w swoim systemie masz zainstalowaną wersję Java EE 7. WildFly 8 nie będzie działać z poprzednimi wersjami. Aby zainstalować Java EE 7 w systemach Linux, postępuj zgodnie z poniższym przewodnikiem.

  1. Zainstaluj JDK/JRE 7u25 w systemie Linux

Krok 1: Pobieranie WildFly 8

Użyj poniższego łącza, aby pobrać najnowszy plik zip WildFly.

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

Możesz także użyć polecenia „wget”, aby pobrać bezpośrednio z wiersza poleceń.

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

Skopiuj plik zip do dowolnej preferowanej lokalizacji (np. „/data/” w moim przypadku) i rozpakuj za pomocą polecenia „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: Ustawianie zmiennych środowiskowych

Teraz ustaw kilka zmiennych środowiskowych. Można je ustawić w systemie lub w plikach konfiguracyjnych. Tutaj ustawiam pliki konfiguracyjne standalone.sh i standalone.conf w folderze „bin”.

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

Dodaj te dwie poniższe linie do plików standlone.sh/standlone.conf. Podaj lokalizację instalacji WildFly i lokalizację Java Home.

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

Uwaga: dla całego systemu możesz ustawić to w pliku „/etc/profile”.

Krok 3: Uruchamianie WildFly 8

Teraz uruchom serwer, tj. dla trybu samodzielnego użyj „standalone.sh”, a dla trybu domeny użyj „domain.sh”.

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

Ale tutaj zaczynam w trybie autonomicznym. Domyślnie rozpocznie się od pliku „standalone.xml”, ale możesz także rozpocząć od innej konfiguracji, używając opcji „–server-config”.

Jak poniżej, uruchamiam serwer z „standalone-full-ha.xml”, a plik ten znajduje się w „$JBOSS_HOME/standalone(profile)/configuration/ ”.

[root@tecmint bin]# ./standalone.sh --server-config standalone-full-ha.xml
Przykładowe wyjście
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: Dostęp do WildFly 8

Teraz możesz skierować przeglądarkę na „http://localhost:8080” (jeśli używasz domyślnie skonfigurowanego portu http), co spowoduje wyświetlenie ekranu powitalnego.

Stąd można uzyskać dostęp do przewodników po dokumentacji społeczności WildFly i rozszerzonego dostępu do internetowej konsoli administracyjnej.

Krok 5: Zarządzanie WildFly 8

WildFly 8 udostępnia dwie konsole administracyjne do zarządzania uruchomioną instancją:

    1. internetowa konsola administracyjna
    2. interfejs linii komend

Przed połączeniem się z konsolą administracyjną lub zdalnym użyciem wiersza poleceń musisz utworzyć nowego użytkownika za pomocą skryptu „add-user.sh” w folderze bin.

Następnie przejdź do katalogu 'bin', ustaw 'JBOSS_HOME' w pliku add-user.sh (jeśli zmienna nie jest ustawiona w bazach systemowych) i utwórz użytkownika jak poniżej.

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

Po uruchomieniu skryptu zostaniesz poprowadzony przez proces dodawania nowego użytkownika:

Przykładowe wyjście
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 . . .

Teraz uzyskaj dostęp do internetowej konsoli administracyjnej pod adresem „http://localhost:9990/console” i wprowadź nowo utworzoną nazwę użytkownika i hasło, aby uzyskać bezpośredni dostęp do konsoli zarządzania.

Pierwszy ekran po zalogowaniu.

Jeśli wolisz obsługiwać swój serwer z poziomu CLI, uruchom skrypt „jboss-cli.sh” z katalogu „bin”, który oferuje te same możliwości, które są dostępne poprzez internetowy interfejs użytkownika.

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

Aby uzyskać więcej informacji, zapoznaj się z oficjalną dokumentacją WildFly 8 pod adresem https://docs.jboss.org/author/display/WFLY8/Documentation.

Przeczytaj także: WildFly (JBoss AS) – jak uzyskać dostęp do CLI i zarządzać nim za pomocą GUI