Ricerca nel sito web

Come installare WildFly su Rocky Linux 8|AlmaLinux 8


WildFly, inizialmente noto come JBoss Application Server, è un'implementazione open source eccezionalmente veloce e leggera del contenitore JEE (Java Enterprise Edition). WildFly è scritto in Java ed è stato sviluppato da RedHat per facilitare la gestione del runtime dell'applicazione e la creazione di app. Questo strumento è stato sviluppato nel 2006 da JBoss Inc e successivamente acquisito da RedHat per diventare WildFly. Il nome è stato cambiato a causa della confusione portata nel portafoglio dai nomi dei prodotti. WildFly può essere eseguito su diversi sistemi operativi con supporto sia per 32 che per 64 bit.

L'ultima versione WildFly 26 include molte funzionalità e miglioramenti. Le straordinarie funzionalità associate a WildFly sono:

  • Leggero: WildFly adotta un approccio aggressivo alla gestione della memoria. I servizi runtime di base sono stati sviluppati per ridurre al minimo l'allocazione dell'heap utilizzando metadati indicizzati comuni memorizzati nella cache su analisi complete duplicate, che riducono l'heap e la varianza degli oggetti.
  • Basato su standard: WildFly implementa i più recenti standard Java aziendali di Jakarta EE ed Eclipse MicroProfile. Questi migliorano la produttività degli sviluppatori fornendo funzionalità aziendali avanzate in framework facili da utilizzare che eliminano i moduli standard e riducono il carico tecnico.
  • Modulare: WildFly esegue correttamente il caricamento delle classi. Utilizza i moduli JBoss per fornire un vero isolamento dell'applicazione, nascondendo le classi di implementazione del server dall'applicazione e collegandosi solo ai JAR necessari all'applicazione.
  • Potente: la configurazione in WildFly è centralizzata, semplice e focalizzata sull'utente. Il file di configurazione è organizzato per sottosistemi facilmente comprensibili e non viene esposto alcun cablaggio interno del server.

Questa guida ha lo scopo di dimostrare come installare l'ultima versione di WildFly su Rocky Linux 8 | Alma Linux 8.

Per iniziare.

Per questa guida è necessario quanto segue:

  • Rocky Linux 8 | Sistema AlmaLinux 8.
  • Memoria superiore a 2 GB di RAM

Inoltre, assicurati che i pacchetti sul tuo sistema siano aggiornati alle ultime versioni disponibili.

sudo yum update

Ora utilizza i passaggi seguenti per installare WildFly su Rocky Linux 8 | Alma Linux 8

Passaggio 1: installare Java su Rocky Linux 8 | Alma Linux 8

Poiché WildFly è basato su Java, è necessario che Java sia installato prima di procedere. Per questa guida installeremo Java OpenJDK 11.

sudo yum install java-11-openjdk-devel

Una volta installato, verifica la versione Java.

$ java -version
openjdk version "11.0.14.1" 2022-02-08 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.14.1+1-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.14.1+1-LTS, mixed mode, sharing)

Passaggio 2: installare WildFly su Rocky Linux 8|AlmaLinux 8

Prima di scaricare e installare WildFly, dobbiamo creare un utente e un gruppo di sistema per WildFly. Crea l'utente con una directory home personalizzata come di seguito.

sudo useradd -r -d /opt/wildfly -s /sbin/nologin wildfly

Ora procedi e scarica l'ultima versione di WildFly dal sito Web ufficiale di WildFly. Per questa guida, scaricheremo il file Jarkata EE Full & Web Distribution TGZ utilizzando Wget come di seguito.

sudo yum -y install wget curl
WILDFLY_RELEASE=$(curl -s https://api.github.com/repos/wildfly/wildfly/releases/latest|grep tag_name|cut -d '"' -f 4)
wget https://github.com/wildfly/wildfly/releases/download/${WILDFLY_RELEASE}/wildfly-${WILDFLY_RELEASE}.tar.gz

Una volta scaricato, estrai il file

tar xvf wildfly-${WILDFLY_RELEASE}.tar.gz

Sposta la cartella creata nella directory /opt.

sudo mv wildfly-${WILDFLY_RELEASE} /opt/wildfly

Imposta la proprietà del file sull'utente Wildfly creato.

sudo chown -RH wildfly:wildfly /opt/wildfly

Passaggio 3: crea il servizio Systemd per WildFly

Inizieremo creando le configurazioni WildFly nella directory /etc come di seguito.

sudo mkdir /etc/wildfly
sudo cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.conf /etc/wildfly/

Visualizza il contenuto della configurazione.

$ cat /etc/wildfly/wildfly.conf
# The configuration you want to run
WILDFLY_CONFIG=standalone.xml

# The mode you want to run
WILDFLY_MODE=standalone

# The address to bind to
WILDFLY_BIND=0.0.0.0

Dall'output sopra, possiamo concordare che WildFly funziona in modalità autonoma per impostazione predefinita, ma puoi comunque personalizzare secondo le tue preferenze.

Quindi copia lo script launch.sh necessario per avviare WildFly come servizio.

sudo cp /opt/wildfly/docs/contrib/scripts/systemd/launch.sh /opt/wildfly/bin/

Ora copia il file di servizio per WildFly.

sudo cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.service /usr/lib/systemd/system/

È inoltre necessaria una directory per contenere il file PID

sudo mkdir /var/run/wildfly/
sudo chown -R wildfly:wildfly /var/run/wildfly/

Ora avvia e abilita WildFly su Rocky Linux 8 | Alma Linux 8.

sudo systemctl enable wildfly.service
sudo systemctl start wildfly.service

Controlla lo stato del servizio.

$ systemctl status wildfly.service
● wildfly.service - The WildFly Application Server
   Loaded: loaded (/usr/lib/systemd/system/wildfly.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2023-03-17 06:39:27 EDT; 20s ago
 Main PID: 37572 (launch.sh)
    Tasks: 125 (limit: 36438)
   Memory: 273.6M
   CGroup: /system.slice/wildfly.service
           ├─37572 /bin/bash /opt/wildfly/bin/launch.sh standalone standalone.xml 0.0.0.0
           ├─37573 /bin/sh /opt/wildfly/bin/standalone.sh -c standalone.xml -b 0.0.0.0
           └─37666 java -D[Standalone] -server -Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true -Djbo>

Mar 17 06:39:27 localhost.localdomain systemd[1]: Started The WildFly Application Server.

Configura il firewall per consentire il passaggio della porta WildFly.

sudo firewall-cmd --permanent --add-port=8080/tcp
sudo firewall-cmd --reload

A questo punto, WildFly dovrebbe essere accessibile sulla porta 8080.

Passaggio 4: configurare la console di amministrazione WildFly per l'accesso remoto

Per impostazione predefinita, la console di amministrazione WildFly viene eseguita su localhost. Nel caso in cui desideriamo accedervi tramite un host remoto, dobbiamo effettuare alcune configurazioni.

Per prima cosa dobbiamo creare un utente amministratore per consentirci di accedere alla console di amministrazione di WildFly.

$ sudo /opt/wildfly/bin/add-user.sh

What type of user do you wish to add? 
 a) Management User (mgmt-users.properties) 
 b) Application User (application-users.properties)
(a): a

Enter the details of the new user to add.
Using realm 'ManagementRealm' as discovered from the existing property files.
Username : klinsmann
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 'klinsmann' for realm 'ManagementRealm'
Is this correct yes/no? yes
....
Added user 'klinsmann' with groups  to file '/opt/wildfly-26.0.1.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 Jakarta Enterprise Beans calls.
yes/no? yes
To represent the user add the following to the server-identities definition <secret value="UGFzc3cwcmQh" />

Successivamente, creeremo una variabile di ambiente per WildFly.

$ sudo vi /etc/wildfly/wildfly.conf

# The address to bind console to
WILDFLY_CONSOLE_BIND=0.0.0.0

Inoltre, modifica lo script launch.sh.

$ sudo vi /opt/wildfly/bin/launch.sh
#!/bin/bash

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

Modifica anche il file del servizio WildFly.

sudo vi /usr/lib/systemd/system/wildfly.service

Modifica il file come di seguito:

[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

Ricaricare il demone di sistema e riavviare il servizio WildFly.

sudo systemctl daemon-reload
sudo systemctl restart wildfly.service

Ora consenti alla porta della console di amministrazione WildFly di attraversare il firewall.

sudo firewall-cmd --permanent --add-port=9990/tcp
sudo firewall-cmd --reload

Disabilita SELinux.

sudo setenforce 0

Passaggio 5: accedi alla console di amministrazione di WildFly

Ora procedi e accedi alla console di amministrazione di WildFly utilizzando l'URL http://IP_address:9990/console.

Fornire le credenziali dell'utente amministratore create.

Ora distribuiremo un'applicazione Java di esempio sul server WildFly. Innanzitutto, scarica l'applicazione Java Helloworld da GitHub come di seguito.

cd /opt/wildfly/standalone/deployments/
sudo curl -O https://raw.githubusercontent.com/aeimer/java-example-helloworld-war/master/dist/helloworld.war

Visualizza i file disponibili.

$ ls
helloworld.war  helloworld.war.deployed  README.txt

Dall'output sopra, il file denominato *.deployed mostra che l'applicazione è stata distribuita correttamente, altrimenti il file verrà denominato *.failed . Puoi visualizzare i registri di WildFly come di seguito.

$ tail /opt/wildfly/standalone/log/server.log  | grep helloworld
2022-03-17 07:07:07,674 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-2) WFLYSRV0027: Starting deployment of "helloworld.war" (runtime-name: "helloworld.war")
2022-03-17 07:07:08,818 INFO  [org.wildfly.extension.undertow] (ServerService Thread Pool -- 81) WFLYUT0021: Registered web context: '/helloworld' for server 'default-server'
2022-03-17 07:07:08,886 INFO  [org.jboss.as.server] (DeploymentScanner-threads - 2) WFLYSRV0010: Deployed "helloworld.war" (runtime-name : "helloworld.war")

La distribuzione può essere visualizzata sul browser utilizzando l'URL http://IP_address:8080/helloworld/

Ecco!

Questo segna la fine di questa guida. Abbiamo configurato con successo il server WildFly su Rocky Linux 8 | AlmaLinux 8 e ha anche distribuito un'applicazione di esempio. Ora procedi e utilizza WildFly per creare e gestire applicazioni.

Post correlati:

  • Installa il server WildFly (JBoss) su CentOS
  • Come installare WildFly (JBoss) su Ubuntu
  • Come installare WildFly (JBoss) su Debian

Articoli correlati: