Instaloni serverin e aplikacionit Java WildFly me përfaqësuesin e kundërt Nginx në Rocky Linux 8
WildFly është një server aplikacioni me burim të hapur dhe ndër-platformë i zhvilluar nga RedHat. Është shkruar në Java dhe përdoret për zhvillimin e aplikacioneve Java. Është i thjeshtë, fleksibël, i lehtë dhe i bazuar në nënsisteme të mbyllshme që mund të shtohen ose hiqen sipas kërkesave tuaja. Ai vjen me një panel të thjeshtë dhe miqësor për përdoruesit dhe synon t'u sigurojë përdoruesve një mjedis të shpejtë dhe të qëndrueshëm të ekzekutimit të Java.
Në këtë tutorial, ne do t'ju tregojmë se si të instaloni Wildfly me Nginx si një përfaqësues i kundërt në Rocky Linux 8. Të njëjtat hapa do të funksionojnë edhe në AlmaLinux 8 dhe CentOS 8 gjithashtu.
Parakushtet
- Një server që ekzekuton Rocky Linux 8/AlmaLinux 8 ose centOS 8.
- Një fjalëkalim rrënjësor është konfiguruar në server.
Instaloni Java
Wildfly është një aplikacion i bazuar në Java, kështu që Java duhet të instalohet në serverin tuaj. Nëse nuk është i instaluar, mund ta instaloni me komandën e mëposhtme:
dnf install java-11-openjdk-devel -y
Pas instalimit të Java, mund të verifikoni versionin e instaluar të Java me komandën e mëposhtme:
java --version
Ju duhet të merrni daljen e mëposhtme:
openjdk 11.0.8 2020-07-14 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.8+10-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.8+10-LTS, mixed mode, sharing)
Instaloni Wildfly
Përpara se të instaloni Wildfly, do t'ju duhet të krijoni një përdorues dhe grup të veçantë për të ekzekutuar Wildfly. Ju mund t'i krijoni ato me komandën e mëposhtme:
groupadd --system wildfly
useradd -s /sbin/nologin --system -d /opt/wildfly -g wildfly wildfly
Më pas, do t'ju duhet të shkarkoni versionin më të fundit të Wildfly nga faqja e tyre zyrtare. Në kohën e shkrimit të këtij tutoriali, versioni më i fundit i disponueshëm i Wildfly është 20.0.1. Mund ta shkarkoni me komandën e mëposhtme:
wget https://download.jboss.org/wildfly/20.0.1.Final/wildfly-20.0.1.Final.tar.gz
Pasi të përfundojë shkarkimi, nxirrni skedarin e shkarkuar me komandën e mëposhtme:
tar -xvzf /root/wildfly-20.0.1.Final.tar.gz
Më pas, kopjoni drejtorinë e nxjerrë në /opt me komandën e mëposhtme:
mv wildfly-20.0.1.Final /opt/wildfly
Më pas, krijoni një direktori për të ruajtur skedarët e konfigurimit Wildfly:
mkdir /etc/wildfly
Tjetra, kopjoni të gjithë skedarët e nevojshëm në vendndodhjen e dëshiruar me komandën e mëposhtme:
cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.conf /etc/wildfly/
cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.service /etc/systemd/system/
cp /opt/wildfly/docs/contrib/scripts/systemd/launch.sh /opt/wildfly/bin/
Më pas, jepni pronësinë dhe lejet e duhura në drejtorinë dhe skedarët wildfly me komandën e mëposhtme:
chmod +x /opt/wildfly/bin/launch.sh
chown -R wildfly:wildfly /opt/wildfly
chmod -R +x /opt/wildfly/
Tjetra, ringarkoni demonin systemd me komandën e mëposhtme:
systemctl daemon-reload
Më pas, filloni shërbimin Wildfly dhe aktivizoni atë të fillojë në nisje me komandën e mëposhtme:
systemctl start wildfly
systemctl enable wildfly
Tani mund të verifikoni statusin e shërbimit Wildfly me komandën e mëposhtme:
systemctl status wildfly
Ju duhet të merrni daljen e mëposhtme:
? wildfly.service - The WildFly Application Server
Loaded: loaded (/etc/systemd/system/wildfly.service; disabled; vendor preset: disabled)
Active: active (running) since Sun 2020-09-13 05:57:22 EDT; 16s ago
Main PID: 31834 (launch.sh)
Tasks: 123 (limit: 12527)
Memory: 304.1M
CGroup: /system.slice/wildfly.service
??31834 /bin/bash /opt/wildfly/bin/launch.sh standalone standalone.xml 0.0.0.0
??31835 /bin/sh /opt/wildfly/bin/standalone.sh -c standalone.xml -b 0.0.0.0
??31925 java -D[Standalone] -server -Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=tru>
Sep 13 05:57:22 centos8 systemd[1]: Started The WildFly Application Server.
Në këtë pikë Wildfly është instaluar dhe nisur. Si parazgjedhje, serveri i aplikacionit wildfly po dëgjon në portin 8080. Mund ta kontrolloni me komandën e mëposhtme:
ss -tunelp | grep 8080
Ju duhet të merrni daljen e mëposhtme:
tcp LISTEN 0 128 0.0.0.0:8080 0.0.0.0:* users:(("java",pid=31925,fd=478)) uid:989 ino:59014 sk:9
Konsola e administratorit Wildfly po dëgjon në portin 9990. Mund ta kontrolloni me komandën e mëposhtme:
ss -tunelp | grep 9990
Ju duhet të merrni daljen e mëposhtme:
tcp LISTEN 0 50 127.0.0.1:9990 0.0.0.0:* users:(("java",pid=31925,fd=138)) uid:989 ino:59017 sk:7
Shto përdoruesin e administratorit Wildfly
Për të hyrë në konsolën e administrimit të WildFly, do t'ju duhet të krijoni një përdorues administrativ për Wildfly. Mund ta krijoni me komandën e mëposhtme:
/opt/wildfly/bin/add-user.sh
Do t'ju kërkohet të zgjidhni llojin e përdoruesit që dëshironi të shtoni siç tregohet më poshtë:
What type of user do you wish to add?
a) Management User (mgmt-users.properties)
b) Application User (application-users.properties)
(a): a
Shkruani një për përdoruesit e menaxhimit dhe shtypni Enter. Ju duhet të shihni daljen e mëposhtme:
Enter the details of the new user to add.
Using realm 'ManagementRealm' as discovered from the existing property files.
Username : wildflyadmin
Jepni emrin e përdoruesit që dëshironi dhe shtypni Enter. Ju duhet të shihni daljen e mëposhtme:
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 :
Jepni fjalëkalimin tuaj dhe shtypni Enter. Ju duhet të shihni daljen e mëposhtme:
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
Në këtë pikë, krijohet përdoruesi juaj i menaxhimit të Wildfly. Mund të vazhdoni në hapin tjetër.
Konfiguro Firewall dhe SELinux
Si parazgjedhje, SELinux është i aktivizuar në Rocky Linux 8. Kështu që do t'ju duhet të konfiguroni SELinux për Wildfly. Mund ta bëni me komandën e mëposhtme:
semanage fcontext -a -t bin_t "/opt/wildfly/bin(/.*)?"
restorecon -Rv /opt/wildfly/bin/
setsebool -P httpd_can_network_connect 1
Më pas, do t'ju duhet të lejoni portat 8080, 9990 dhe 80 përmes murit të zjarrit. Mund ta bëni me komandën e mëposhtme:
firewall-cmd --permanent --add-port=8080/tcp
firewall-cmd --permanent --add-port=9990/tcp
firewall-cmd --permanent --add-port=80/tcp
Më pas, ringarkoni murin e zjarrit për të aplikuar ndryshimet.
firewall-cmd --reload
Pasi të keni mbaruar, mund të vazhdoni në hapin tjetër.
Hyni në panelin e administratorit Wildfly
Si parazgjedhje, tastiera e administratorit Wildfly është e aksesueshme vetëm nga localhost. Do t'ju duhet të redaktoni /opt/wildfly/bin/launch.sh dhe të bëni disa ndryshime për akses të jashtëm.
nano /opt/wildfly/bin/launch.sh
Gjeni rreshtin e mëposhtëm:
$WILDFLY_HOME/bin/standalone.sh -c $2 -b $3
Dhe, zëvendësojeni atë me rreshtin e mëposhtëm:
$WILDFLY_HOME/bin/standalone.sh -c $2 -b $3 -bmanagement=0.0.0.0
Ruani dhe mbyllni skedarin dhe më pas rinisni shërbimin Wildfly për të aplikuar ndryshimet.
systemctl restart wildfly
Tani, hapni shfletuesin tuaj të internetit dhe hyni në konsolën e administratorit Wildfly duke përdorur URL-në http://your-server-ip:9990. Do t'ju kërkohet të jepni emrin e përdoruesit dhe fjalëkalimin siç tregohet më poshtë:
Jepni emrin e përdoruesit, fjalëkalimin e administratorit të Wildfly dhe klikoni në butonin Identifikohu hyni. Pasi të identifikoheni, duhet të shihni panelin e administratorit Wildfly në ekranin e mëposhtëm:
Konfiguro Nginx si një përfaqësues i kundërt për Wildfly
Si parazgjedhje, aplikacioni Wildfly është i aksesueshëm në portin 8080. Prandaj, rekomandohet mënyra për të konfiguruar Nginx si një përfaqësues të kundërt, në mënyrë që të mund të aksesohet duke përdorur portën 80.
Së pari, instaloni serverin në internet Nginx me komandën e mëposhtme;
dnf install nginx -y
Pasi të instalohet, krijoni një skedar të ri konfigurimi Wildfly me komandën e mëposhtme:
nano /etc/nginx/conf.d/wildfly.conf
Shtoni rreshtat e mëposhtëm:
upstream wildfly {
server 127.0.0.1:8080 weight=100 max_fails=5 fail_timeout=5;
}
server {
listen 80;
server_name your-server-ip;
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/;
}
}
Ruani dhe mbyllni skedarin dhe më pas kontrolloni Nginx për çdo gabim konfigurimi me komandën e mëposhtme:
nginx -t
Nëse gjithçka është në rregull, duhet të merrni rezultatin e mëposhtëm:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Tjetra, nisni Nginx dhe aktivizoni atë të fillojë në rindezjen e sistemit me komandën e mëposhtme:
systemctl start nginx
systemctl enable nginx
Ju gjithashtu mund të kontrolloni statusin e shërbimit Nginx me komandën e mëposhtme:
systemctl status nginx
Ju duhet të merrni daljen e mëposhtme:
? nginx.service - The nginx HTTP and reverse proxy server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
Drop-In: /usr/lib/systemd/system/nginx.service.d
??php-fpm.conf
Active: active (running) since Sun 2020-09-13 06:03:37 EDT; 5s ago
Process: 1775 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
Process: 1773 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
Process: 1771 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
Main PID: 1776 (nginx)
Tasks: 3 (limit: 12527)
Memory: 5.4M
CGroup: /system.slice/nginx.service
??1776 nginx: master process /usr/sbin/nginx
??1777 nginx: worker process
??1778 nginx: worker process
Sep 13 06:03:37 centos8 systemd[1]: Stopped The nginx HTTP and reverse proxy server.
Sep 13 06:03:37 centos8 systemd[1]: Starting The nginx HTTP and reverse proxy server...
Sep 13 06:03:37 centos8 nginx[1773]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
Sep 13 06:03:37 centos8 nginx[1773]: nginx: configuration file /etc/nginx/nginx.conf test is successful
Sep 13 06:03:37 centos8 systemd[1]: Started The nginx HTTP and reverse proxy server.
Në këtë pikë, Nginx është instaluar dhe konfiguruar për të shërbyer aplikacionin tuaj Wildfly. Tani mund të përdorni aplikacionin Wildfly duke përdorur URL-në http://your-server-ip. Ju duhet të shihni ekranin e mëposhtëm:
konkluzioni
Në këtë udhëzues, ne mësuam se si të instalojmë Wildfly dhe të aktivizojmë aksesin në distancë në Rocky Linux 8. Ne konfiguruam gjithashtu Nginx si një përfaqësues të kundërt për të hyrë në Wildfly përmes portit 80. Tani, mund të filloni të ndërtoni aplikacionin Java dhe ta menaxhoni atë nga Konsola e administratorit Widlfly.