WildFly adalah runtime aplikasi gratis, open-source, dan lintas platform yang ditulis dalam Java dan dikembangkan oleh Red Hat yang memungkinkan Anda mengembangkan aplikasi hebat dari satu IDE. Ini ringan, cepat, fleksibel dan didasarkan pada subsistem yang dapat dipasang. Ini berjalan pada sistem operasi Windows dan Linux dan bertujuan untuk menyediakan lingkungan runtime Java yang cepat dan stabil kepada pengguna. Wildfly hadir dengan serangkaian fitur yang kaya termasuk, Cepat, Waktu Proses yang Dapat Disesuaikan, Skalabilitas, Konfigurasi &Manajemen Terpadu, Pemuatan Bersamaan, Penautan Cepat, Manajemen Domain, dan banyak lagi.
Dalam tutorial ini, kami akan menunjukkan kepada Anda langkah-langkah untuk menginstal Wildfly dengan Nginx sebagai proxy terbalik di Debian 10.
Persyaratan
- Server yang menjalankan Debian 10.
- Kata sandi root telah disiapkan untuk server Anda.
Memulai
Sebelum memulai, Anda perlu memperbarui sistem Anda dengan versi terbaru. Anda dapat melakukannya dengan menjalankan perintah berikut:
apt-get update -y
apt-get upgrade -y
Setelah server Anda diperbarui, mulai ulang server Anda untuk menerapkan perubahan.
Instal Java
WildFly membutuhkan Java versi 8 untuk diinstal di server Anda. Secara default, Java 8 tidak tersedia di repositori default Debian 10. Jadi, Anda perlu mengunduh Java 8 dari situs resmi mereka.
Setelah mengunduh Java 8, ekstrak sumber Java ke direktori /usr/lib/jvm dengan perintah berikut:
mkdir /usr/lib/jvm/
tar -zxvf jdk-8u221-linux-x64.tar.gz -C /usr/lib/jvm/
Selanjutnya, jalankan perintah berikut untuk mengubah versi Java default:
update-alternatives --config java
Pilih Java versi 8 dan tekan Enter. Anda akan melihat output berikut:
There are 2 choices for the alternative java (providing /usr/bin/java). Selection Path Priority Status ------------------------------------------------------------ * 0 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 auto mode 1 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 manual mode 2 /usr/lib/jvm/jdk1.8.0_221/bin/java 1 manual mode Pressto keep the current choice[*], or type selection number: 2 update-alternatives: using /usr/lib/jvm/jdk1.8.0_221/bin/java to provide /usr/bin/java (java) in manual mode
Selanjutnya, periksa versi Java menggunakan perintah berikut:
java -version
Anda akan mendapatkan output berikut:
java version "1.8.0_221" Java(TM) SE Runtime Environment (build 1.8.0_221-b11) Java HotSpot(TM) 64-Bit Server VM (build 25.221-b11, mixed mode)
Instal Wildfly
Pertama, Anda perlu membuat pengguna dan grup untuk Wildfly. Anda dapat membuatnya dengan perintah berikut:
groupadd -r wildfly
useradd -r -g wildfly -d /opt/wildfly -s /sbin/nologin wildfly
Selanjutnya, unduh Wildfly versi terbaru dengan perintah berikut:
wget https://download.jboss.org/wildfly/17.0.1.Final/wildfly-17.0.1.Final.zip
Setelah unduhan selesai, ekstrak file yang diunduh dengan perintah berikut:
unzip wildfly-17.0.1.Final.zip
Selanjutnya, salin direktori yang diekstrak ke /opt/ dengan perintah berikut:
cp -r wildfly-17.0.1.Final /opt/wildfly
Selanjutnya, ubah kepemilikan direktori wildfly menjadi pengguna wildfly seperti gambar di bawah ini:
chown -RH wildfly:wildfly /opt/wildfly
Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.
Konfigurasi Wildfly
Selanjutnya, Anda perlu menyalin file yang diperlukan untuk mengonfigurasi WildFly.
Pertama, salin file konfigurasi WildFly ke direktori /etc/wildfly:
mkdir /etc/wildfly
cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.conf /etc/wildfly/
Selanjutnya, salin file launch.sh ke direktori /opt/wildfly/bin/ dengan perintah berikut:
cp /opt/wildfly/docs/contrib/scripts/systemd/launch.sh /opt/wildfly/bin/
Selanjutnya, berikan izin eksekusi ke file launch.sh:
sh -c 'chmod +x /opt/wildfly/bin/*.sh'
Selanjutnya, salin file unit sistem Wildfly ke direktori /etc/systemd/system/:
cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.service /etc/systemd/system/
Selanjutnya, muat ulang daemon systemd dengan perintah berikut:
systemctl daemon-reload
Selanjutnya, mulai layanan WildFly dan aktifkan untuk memulai saat boot dengan perintah berikut:
systemctl start wildfly
systemctl enable wildfly
Anda sekarang dapat memeriksa status layanan Wildfly dengan perintah berikut:
systemctl status wildfly
Anda akan mendapatkan output berikut:
? wildfly.service - The WildFly Application Server Loaded: loaded (/etc/systemd/system/wildfly.service; disabled; vendor preset: enabled) Active: active (running) since Tue 2019-09-10 00:19:27 EDT; 1s ago Main PID: 1142 (launch.sh) Tasks: 7 (limit: 1138) Memory: 24.7M CGroup: /system.slice/wildfly.service ??1142 /bin/bash /opt/wildfly/bin/launch.sh standalone standalone.xml 0.0.0.0 ??1143 /bin/sh /opt/wildfly/bin/standalone.sh -c standalone.xml -b 0.0.0.0 ??1200 java -D[Standalone] -server -Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true - Sep 10 00:19:27 debian systemd[1]: Started The WildFly Application Server.
Konfigurasi WildFly Authentication
Selanjutnya, Anda perlu membuat pengguna administrator untuk Wildfly untuk mengakses konsol admin WildFly. Anda dapat membuatnya dengan perintah berikut:
/opt/wildfly/bin/add-user.sh
Anda akan melihat output berikut:
What type of user do you wish to add? a) Management User (mgmt-users.properties) b) Application User (application-users.properties) (a): a
Ketik a dan tekan Enter untuk membuat pengguna Manajemen. Selama proses pembuatan pengguna, Anda harus memberikan nama pengguna, kata sandi, dan nama grup seperti yang ditunjukkan di bawah ini:
Enter the details of the new user to add. Using realm 'ManagementRealm' as discovered from the existing property files. Username : wildflyadmin Password recommendations are listed below. To modify these restrictions edit the add-user.properties configuration file. - The password should be different from the username - The password should not be one of the following restricted values {root, admin, administrator} - The password should contain at least 8 characters, 1 alphabetic character(s), 1 digit(s), 1 non-alphanumeric symbol(s) 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 'wildflyadmin' for realm 'ManagementRealm' Is this correct yes/no? yes Added user 'wildflyadmin' to file '/opt/wildfly/standalone/configuration/mgmt-users.properties' Added user 'wildflyadmin' to file '/opt/wildfly/domain/configuration/mgmt-users.properties' Added user 'wildflyadmin' with groups to file '/opt/wildfly/standalone/configuration/mgmt-groups.properties' Added user 'wildflyadmin' with groups to file '/opt/wildfly/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
Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.
Konfigurasikan WildFly agar Dapat Diakses dari Sistem Jarak Jauh
Secara default, Wildfly hanya dapat diakses dari sistem lokal. Jadi, Anda perlu mengonfigurasinya untuk mengakses dari sistem jarak jauh. Anda dapat melakukannya dengan mengedit file /etc/wildfly/wildfly.conf:
nano /etc/wildfly/wildfly.conf
Tambahkan baris berikut di akhir file:
WILDFLY_CONSOLE_BIND=0.0.0.0
Simpan dan tutup file ketika Anda selesai. Kemudian, buka file /opt/wildfly/bin/launch.sh seperti gambar di bawah ini:
nano /opt/wildfly/bin/launch.sh
Ubah file seperti gambar di bawah ini:
if [ "x$WILDFLY_HOME" = "x" ]; then WILDFLY_HOME="/opt/wildfly" fi if [[ "$1" == "domain" ]]; then $WILDFLY_HOME/bin/domain.sh -c $2 -b $3 -bmanagement $4 else $WILDFLY_HOME/bin/standalone.sh -c $2 -b $3 -bmanagement $4 fi
Simpan dan tutup file. Kemudian, buka file /etc/systemd/system/wildfly.service.
nano /etc/systemd/system/wildfly.service
Ubah file seperti gambar di bawah ini:
[Unit] Description=The WildFly Application Server After=syslog.target network.target Before=httpd.service [Service] Environment=LAUNCH_JBOSS_IN_BACKGROUND=1 EnvironmentFile=-/etc/wildfly/wildfly.conf User=wildfly LimitNOFILE=102642 PIDFile=/var/run/wildfly/wildfly.pid ExecStart=/opt/wildfly/bin/launch.sh $WILDFLY_MODE $WILDFLY_CONFIG $WILDFLY_BIND $WILDFLY_CONSOLE_BIND StandardOutput=null [Install] WantedBy=multi-user.target
Simpan file. Kemudian, buat direktori /var/run/wildfly dan atur izin yang benar
mkdir /var/run/wildfly/
chown wildfly:wildfly /var/run/wildfly/
Terakhir, muat ulang daemon systemd dan mulai ulang layanan Wildfly untuk menerapkan perubahan:
systemctl daemon-reload
systemctl restart wildfly
Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.
Akses Wildfly
Wildfly sekarang diinstal dan dikonfigurasi untuk mengakses dari sistem jarak jauh. Secara default, konsol manajemen Wildfly mendengarkan pada port 9990. Anda dapat mengaksesnya dengan mengunjungi URL http://192.168.0.4:9990 . Anda akan diarahkan ke halaman berikut:
Sekarang, berikan nama pengguna dan sandi admin Anda, dan klik Tanda di tombol. Anda akan melihat konsol manajemen Wildfly di layar berikut:
Anda juga dapat mengakses aplikasi Wildfly dengan mengunjungi URL http://192.168.0.4:8080 . Anda akan melihat halaman berikut:
Konfigurasikan Nginx sebagai Proxy Terbalik untuk Wildfly
Selanjutnya, Anda perlu mengonfigurasi Nginx sebagai proxy terbalik ke permintaan proxy yang berasal dari port 80 hingga 8080.
Pertama, instal Nginx dengan perintah berikut:
apt-get install nginx -y
Setelah Nginx diinstal, buat file host virtual baru untuk Nginx dengan perintah berikut:
nano /etc/nginx/sites-available/wildfly.conf
Tambahkan baris berikut:
upstream wildfly { server 127.0.0.1:8080 weight=100 max_fails=5 fail_timeout=5; } server { listen 80; server_name 192.168.0.4; location / { proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://wildfly/; } }
Simpan dan tutup file setelah Anda selesai. Kemudian, periksa Nginx apakah ada kesalahan sintaks dengan perintah berikut:
nginx -t
Anda akan mendapatkan output berikut:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Selanjutnya, aktifkan virtual host Nginx dan restart Nginx dengan perintah berikut:
ln -s /etc/nginx/sites-available/wildfly.conf /etc/nginx/sites-enabled/
systemctl restart nginx
Anda sekarang dapat mengakses aplikasi Wildfly tanpa menentukan port 8080.
Itu dia. Anda telah berhasil menginstal dan mengonfigurasi Wildfly dengan Nginx sebagai proxy terbalik di Debian 10. Jangan ragu untuk bertanya kepada saya jika Anda memiliki pertanyaan.