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
- Requisiti
- Per iniziare
- Installa Java
- Installa Wildfly
- Configura Wildfly
- Configura l'autenticazione WildFly
- Configura WildFly su Accessibile dal sistema remoto
- Accedi a Wildfly
- 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.