Ricerca nel sito web

Come installare WildFly con Nginx come proxy inverso su Debian 10


Questo tutorial esiste per queste versioni del sistema operativo

  • Debian 11 (Bullseye)
  • Debian 10 (Buster)

Su questa pagina

  1. Requisiti
  2. Per iniziare
  3. Installa Java
  4. Installa Wildfly
  5. Configura Wildfly
  6. Configura l'autenticazione WildFly
  7. Configura WildFly su Accessibile dal sistema remoto
  8. Accedi a Wildfly
  9. Configura Nginx come proxy inverso per Wildfly

WildFly è un runtime di applicazioni gratuito, open source e multipiattaforma scritto in Java e sviluppato da Red Hat che ti consente di sviluppare fantastiche applicazioni da un singolo IDE. È leggero, veloce, flessibile e basato su sottosistemi collegabili. Funziona su sistemi operativi Windows e Linux e mira a fornire agli utenti un ambiente di runtime Java veloce e stabile. Wildfly è dotato di un ricco set di funzionalità tra cui runtime veloce e personalizzabile, scalabilità, configurazione e gestione unificate, caricamento simultaneo, collegamento rapido, gestione del dominio e molti altri.

In questo tutorial, ti mostreremo i passaggi per installare Wildfly con Nginx come proxy inverso su Debian 10.

Requisiti

  • Un server che esegue Debian 10.
  • Una password di root è impostata sul tuo server.

Iniziare

Prima di iniziare, dovrai aggiornare il tuo sistema con l'ultima versione. Puoi farlo eseguendo il seguente comando:

apt-get update -y
apt-get upgrade -y

Una volta aggiornato il server, riavvia il server per applicare le modifiche.

Installa Java

WildFly richiede che Java versione 8 sia installato sul tuo server. Per impostazione predefinita, Java 8 non è disponibile nel repository predefinito Debian 10. Quindi, dovrai scaricare Java 8 dal loro sito Web ufficiale.

Dopo aver scaricato Java 8, estrai il sorgente Java nella directory /usr/lib/jvm con il seguente comando:

mkdir /usr/lib/jvm/
tar -zxvf jdk-8u221-linux-x64.tar.gz -C /usr/lib/jvm/

Successivamente, esegui il seguente comando per modificare la versione predefinita di Java:

update-alternatives --config java

Seleziona Java versione 8 e premi Invio. Dovresti vedere il seguente output:

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

Press  to 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

Quindi, controlla la versione di Java usando il seguente comando:

java -version

Dovresti ottenere il seguente output:

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)

Installa Wildfly

Innanzitutto, dovrai creare un utente e un gruppo per Wildfly. Puoi crearlo con il seguente comando:

groupadd -r wildfly
useradd -r -g wildfly -d /opt/wildfly -s /sbin/nologin wildfly

Successivamente, scarica l'ultima versione di Wildfly con il seguente comando:

wget https://download.jboss.org/wildfly/17.0.1.Final/wildfly-17.0.1.Final.zip

Una volta completato il download, estrai il file scaricato con il seguente comando:

unzip wildfly-17.0.1.Final.zip

Successivamente, copia la directory estratta in /opt/ con il seguente comando:

cp -r wildfly-17.0.1.Final /opt/wildfly

Successivamente, modifica la proprietà della directory wildfly in utente wildfly come mostrato di seguito:

chown -RH wildfly:wildfly /opt/wildfly

Una volta terminato, puoi procedere al passaggio successivo.

Configura Wildfly

Successivamente, dovrai copiare i file necessari per configurare WildFly.

Per prima cosa, copia il file di configurazione di WildFly nella directory /etc/wildfly:

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

Successivamente, copia il file launch.sh nella directory /opt/wildfly/bin/ con il seguente comando:

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

Successivamente, concedi il permesso di esecuzione al file launch.sh:

sh -c 'chmod +x /opt/wildfly/bin/*.sh'

Successivamente, copia il file dell'unità di Wildfly systemd nella directory /etc/systemd/system/:

cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.service /etc/systemd/system/

Successivamente, ricarica il demone systemd con il seguente comando:

systemctl daemon-reload

Successivamente, avvia il servizio WildFly e abilitalo per l'avvio all'avvio con il seguente comando:

systemctl start wildfly
systemctl enable wildfly

Ora puoi controllare lo stato del servizio Wildfly con il seguente comando:

systemctl status wildfly

Dovresti ottenere il seguente output:

? 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.

Configura l'autenticazione WildFly

Successivamente, dovrai creare un utente amministratore per Wildfly per accedere alla console di amministrazione WildFly. Puoi crearlo con il seguente comando:

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

Dovresti vedere il seguente output:

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

Digita a e premi Invio per creare un utente di gestione. Durante il processo di creazione dell'utente, dovrai fornire nome utente, password e nome del gruppo come mostrato di seguito:

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 

Una volta fatto, puoi procedere al passaggio successivo.

Configura WildFly su Accessibile dal sistema remoto

Per impostazione predefinita, Wildfly è accessibile solo dal sistema locale. Quindi, dovrai configurarlo per accedere dal sistema remoto. Puoi farlo modificando il file /etc/wildfly/wildfly.conf:

nano /etc/wildfly/wildfly.conf

Aggiungi la seguente riga alla fine del file:

WILDFLY_CONSOLE_BIND=0.0.0.0

Salva e chiudi il file quando hai finito. Quindi, apri il file /opt/wildfly/bin/launch.sh come mostrato di seguito:

nano /opt/wildfly/bin/launch.sh

Modificare il file come mostrato di seguito:

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

Salva e chiudi il file. Quindi, apri il file /etc/systemd/system/wildfly.service.

nano /etc/systemd/system/wildfly.service

Modificare il file come mostrato 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

Salva il file. Quindi, crea la directory /var/run/wildfly e imposta le autorizzazioni corrette

mkdir /var/run/wildfly/
chown wildfly:wildfly /var/run/wildfly/

Infine, ricarica il demone systemd e riavvia il servizio Wildfly per applicare le modifiche:

systemctl daemon-reload
systemctl restart wildfly

Una volta fatto, puoi procedere al passaggio successivo.

Accedi a Wildfly

Wildfly è ora installato e configurato per l'accesso dal sistema remoto. Per impostazione predefinita, la console di gestione Wildfly è in ascolto sulla porta 9990. È possibile accedervi visitando l'URL http://192.168.0.4:9990. Verrai reindirizzato alla seguente pagina:

Ora, fornisci il nome utente e la password dell'amministratore e fai clic sul pulsante Accedi. Dovresti vedere la console di gestione Wildfly nella seguente schermata:

Puoi anche accedere all'applicazione Wildfly visitando l'URL http://192.168.0.4:8080. Dovresti vedere la seguente pagina:

Configura Nginx come proxy inverso per Wildfly

Successivamente, dovrai configurare Nginx come proxy inverso per la richiesta proxy in arrivo sulla porta da 80 a 8080.

Innanzitutto, installa Nginx con il seguente comando:

apt-get install nginx -y

Una volta installato Nginx, crea un nuovo file host virtuale per Nginx con il seguente comando:

nano /etc/nginx/sites-available/wildfly.conf

Aggiungi le seguenti righe:

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/;
  }
}

Salva e chiudi il file quando hai finito. Quindi, controlla Nginx per qualsiasi errore di sintassi con il seguente comando:

nginx -t

Dovresti ottenere il seguente output:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Successivamente, abilita l'host virtuale Nginx e riavvia Nginx con il seguente comando:

ln -s /etc/nginx/sites-available/wildfly.conf /etc/nginx/sites-enabled/
systemctl restart nginx

È ora possibile accedere all'applicazione Wildfly senza specificare la porta 8080.

Questo è tutto. Hai installato e configurato con successo Wildfly con Nginx come proxy inverso su Debian 10. Non esitare a chiedermi se hai domande.

Articoli correlati: