WildFly 8 - Linux için Yeni Geliştirilmiş JBoss Uygulama Sunucusu
Hepimizin bildiği gibi JBoss AS'in adı WildFly olarak değiştirildi. Pek çok yeni özellik eklendi ve birçoğu da geliştirildi. Sonunda WildFly 8.0.0 Finali 11 Şubat 2014'te yayınlandı. WildFly Projesi Başrol oyuncusu Jason Greene de aynısını duyurdu.
WildFly 8, Red Hat'in Java EE 7 uyumlu açık kaynaklı uygulama sunucusudur. Ana özellikler aşağıdaki gibidir:
Java EE 7 Uyumluluğu
Bundaki en büyük değişiklik artık WildFly 8'in resmi Java EE7 Sertifikalı olmasıdır.
Yüksek Performanslı Web Sunucusu
Undertow, Java ile yazılmış yeni yüksek performanslı web sunucusudur. Artık bu WildFly 8'de uygulanmıştır. Bu gerçekten yüksek verim ve ölçeklenebilirlik için tasarlanmıştır ve milyonlarca bağlantıyı yönetebilir. Undertow'un yaşam döngüsü tamamen yerleştirme uygulaması tarafından kontrol edilir. Bu, 1 MB boyutunda çekirdek kavanozu ve 4 MB'tan daha az yığın alanı kullanan yerleşik sunucusuyla son derece hafiftir. Bu gerçekten harika.
3 Bağlantı Noktası Azaltma
HTTP'nin Yükseltilmesini destekleyen Undertow'u kullandığından, birden fazla protokolün tek bir HTTP bağlantı noktası üzerinden çoğullanmasına olanak tanır. WildFly 8 neredeyse tüm protokollerini iki HTTP bağlantı noktası üzerinden çoğaltılacak şekilde taşıdı: biri yönetim, diğeri ise uygulama bağlantı noktası. Bu gerçekten büyük bir değişiklik ve tek bir sunucuda yüzlerce hatta binlerce örneği çalıştıran bulut sağlayıcıları (OpenShift gibi) için fayda sağlıyor. Toplamda, yapılandırma için iki varsayılan bağlantı noktası vardır ve bunlar 9990 (Web Yönetim Konsolu) ve 8080'dir (Uygulama Konsolu).
Yönetim Rolü Tabanlı Erişim Kontrolü ve Denetimi
Bu, WildFly 8'de uygulanan yeni ve ilginç şeydir. Bunu kullanarak farklı kullanıcılar oluşturabilir ve bunları gereksinimlere göre farklı rollere atayabiliriz. Daha sonra ekran görüntüleri ile göstereceğim.
Kerestecilik
Yönetim API'si artık bir sunucudaki mevcut günlük dosyalarını listeleme ve görüntüleme özelliğini desteklemektedir. Artık, konteyner günlüğünü atlamak istediğimiz her türlü dağıtım için "add-logging-api-bağımlılıkları" adı verilen özniteliğimiz var. Bu, örtülü sunucu günlüğü bağımlılıklarının eklenmesini devre dışı bırakacaktır. Başka bir seçeneğimiz daha var, yani günlük kaydı alt sistemini hariç tutmak için jboss-deployment-structure.xml kullanabiliriz. Bunu kullanmak, günlük kaydı alt sisteminin herhangi bir dağıtımdan geçmesini durdurmaya yardımcı olacaktır.
Bir dağıtım içinde günlüğe kaydetme yapılandırma dosyalarının işlenmesini etkinleştirmek/devre dışı bırakmak için başka bir parametreyi, yani use-deployment-logging-config'i de kullanabiliriz.
Not: Günlük kaydı başına devre dışı bırakmak için kullandığımız Sistem Özelliği bu sürümde kullanımdan kaldırıldı.
Kümeleme
Yine Büyük değişim tek bir kümelenmedir. WildFly 8'de Kümeleme desteğiyle ilgili tüm Özellikler değiştirilmiştir ve bunlar aşağıdakileri içermektedir:
- Dağıtılmış web oturumu, yeni Java Tabanlı Web Sunucusu, yani Undertow ile optimize edildi.
- Undertow için mod_cluster desteği.
- Undertow için Optimize Edilmiş Dağıtılmış SSO (Tek Oturum Açma) yetenekleri ve desteği.
- Yeni/optimize edilmiş dağıtılmış @Stateful EJB önbellekleme uygulaması.
- WildFly 8 bazı yeni genel kümeleme API'lerini ekledi.
- Tekil hizmetler oluşturmak için yeni genel API'ler sağlar.
CLI İyileştirmeleri
CLI Yapılandırması da geliştirildi. Tüm yöneticilerin CLI üzerinde çalışmayı sevdiğini biliyorsunuz;). Böylece, artık belirli bir sunucu için takma ad oluşturabilir ve daha sonra connect komutunu kullanarak o sunucuya bağlanmak istediğimizde bu takma adı kullanabiliriz.
WildFly 8'de hâlâ pek çok geliştirme ve güncelleme yapılıyor. Tüm bunları şu adresten kontrol edebilirsiniz:
- http://wildfly.org/news/2014/02/11/WildFly8-Final-Released/
WildFly 8'in Linux'a Kurulumu
Kuruluma geçmeden önce sisteminizde Java EE 7'nin kurulu olduğundan emin olun. WildFly 8 önceki revizyonlarla çalışmayacaktır. Java EE 7'yi Linux sistemlerine kurmak için lütfen aşağıdaki kılavuzu takip edin.
- JDK/JRE 7u25'i Linux'a yükleyin
Adım 1: WildFly 8'i İndirme
En son WildFly zip dosyasını indirmek için aşağıdaki bağlantıyı kullanın.
- http://download.jboss.org/wildfly/8.0.0.Final/wildfly-8.0.0.Final.zip
Doğrudan komut satırından indirmek için 'wget' komutunu da kullanabilirsiniz.
[root@tecmint]# wget http://download.jboss.org/wildfly/8.0.0.Final/wildfly-8.0.0.Final.zip
Zip dosyasını tercih edilen herhangi bir konuma kopyalayın (örneğin, benim durumumda '/data/') ve 'unzip' komutunu kullanarak çıkartın.
[root@tecmint]# cp wildfly-8.0.0.Final.zip /data/
[root@tecmint]# cd /data/
[root@tecmint data]# unzip wildfly-8.0.0.Final.zip
Adım 2: Ortam Değişkenlerini Ayarlama
Şimdi bazı ortam değişkenlerini ayarlayın. Bunları sistem bazında veya yapılandırma dosyalarınız içinde ayarlayabilirsiniz. Burada 'bin' klasöründeki standalone.sh ve standalone.conf yapılandırma dosyalarının içine ayar yapıyorum.
[root@tecmint data]# cd wildfly-8.0.0.Final
[root@tecmint data]# cd bin/
Aşağıdaki iki satırı standlone.sh/standlone.conf dosyalarına ekleyin. Lütfen WildFly kurulum konumunuzu ve Java Home konumunuzu belirtin.
JBOSS_HOME=”/data/wildfly-8.0.0.Final”
JAVA_HOME=”/data/java/jre7/bin/java”
Not: Tüm sistem için bunu '/etc/profile' dosyası altında ayarlayabilirsiniz.
3. Adım: WildFly 8'i Başlatma
Şimdi sunucuyu başlatın, yani bağımsız mod için 'standalone.sh' kullanın ve alan adı modu için 'domain.sh' kullanın.
[root@tecmint bin]# ./standalone.sh
[root@tecmint bin]# ./domain.sh
Ancak burada bağımsız modda başlıyorum. Varsayılan olarak 'standalone.xml' dosyasıyla başlar, ancak '–server-config' seçeneğini kullanarak başka bir yapılandırmayla da başlayabilirsiniz.
Aşağıdaki gibi ‘standalone-full-ha.xml’ ile sunucuyu başlatıyorum ve bu dosya “$JBOSS_HOME/standalone(profile)/configuration/” içerisinde mevcut.
[root@tecmint bin]# ./standalone.sh --server-config standalone-full-ha.xml
Örnek Çıktı
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)
4. Adım: WildFly 8'e Erişim
Artık tarayıcınızı, sizi Hoş Geldiniz Ekranına götürecek olan 'http://localhost:8080' (varsayılan yapılandırılmış http bağlantı noktası kullanılıyorsa) adresine yönlendirebilirsiniz.
Buradan WildFly topluluk dokümantasyon kılavuzlarına ve gelişmiş web tabanlı Yönetim Konsolu erişimine erişebilirsiniz.
Adım 5: WildFly 8'i Yönetme
WildFly 8, çalışan bulut sunucusunu yönetmek için iki yönetim konsolu sağlar:
- web tabanlı Yönetim Konsolu
- komut satırı arayüzü
Yönetim konsoluna bağlanmadan veya komut satırını uzaktan kullanmadan önce, bin klasöründeki 'add-user.sh' komut dosyasını kullanarak yeni bir kullanıcı oluşturmanız gerekecektir.
Daha sonra 'bin' dizinine gidin, add-user.sh'de 'JBOSS_HOME'u ayarlayın (eğer değişken sistem bazında ayarlanmamışsa) ve aşağıdaki gibi kullanıcı oluşturun.
[root@tecmint bin]# ./add-user.sh
Betiği başlattıktan sonra yeni bir kullanıcı ekleme süreci boyunca yönlendirileceksiniz:
Örnek Çıktı
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 . . .
Şimdi 'http://localhost:9990/console' adresinden web tabanlı Yönetim Konsoluna erişin ve Yönetim Konsoluna doğrudan erişmek için yeni oluşturulan kullanıcı adını ve şifreyi girin.
Giriş yaptıktan sonraki ilk ekran.
Sunucunuzu CLI'den yönetmeyi tercih ederseniz, aşağıdakileri sunan 'bin' dizininden 'jboss-cli.sh' komut dosyasını çalıştırın. aynı yetenekler web tabanlı kullanıcı arayüzü aracılığıyla da kullanılabilir.
[root@tecmint bin]# cd bin
[root@tecmint bin]# ./jboss-cli.sh --connect
Connected to standalone controller at localhost:9999
Daha fazla bilgi için https://docs.jboss.org/author/display/WFLY8/Documentation adresindeki resmi WildFly 8 belgelerini takip edin.
Ayrıca Okuyun : WildFly (JBoss AS) – GUI Kullanarak CLI'ye Nasıl Erişilir ve Yönetilir