GNU/Linux >> Linux Esercitazione >  >> Debian

Come installare WildFly con Nginx come proxy inverso su Debian 10

WildFly è un runtime di applicazioni gratuito, open source e multipiattaforma scritto in Java e sviluppato da Red Hat che consente di sviluppare grandi applicazioni da un unico 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 viene fornito con un ricco set di funzionalità tra cui Runtime veloce e personalizzabile, scalabilità, configurazione e gestione unificate, caricamento simultaneo, collegamento rapido, gestione del dominio e molto altro.

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.
  • È stata impostata una password di root per il tuo server.

Per 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 l'installazione di Java versione 8 sul tuo server. Per impostazione predefinita, Java 8 non è disponibile nel repository predefinito di 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/

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

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

Quindi, 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

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

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

Quindi, cambia 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/

Quindi, 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/

Quindi, dai il permesso di esecuzione al file launch.sh:

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

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

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

Quindi, ricarica il demone systemd con il seguente comando:

systemctl daemon-reload

Quindi, avvia il servizio WildFly e abilitalo all'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 consentire a Wildfly di accedere alla console di amministrazione di 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 terminato, puoi procedere al passaggio successivo.

Configura WildFly in Accessibile da 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

Modifica 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

Modifica 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 terminato, 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. Puoi accedervi visitando l'URL http://192.168.0.4:9990 . Verrai reindirizzato alla seguente pagina:

Ora, fornisci il tuo nome utente e password di amministratore e fai clic su Firma dentro pulsante. Dovresti vedere la console di gestione di Wildfly nella schermata seguente:

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 eventuali errori 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

Quindi, 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 puoi accedere all'applicazione Wildfly senza specificare la porta 8080.

Questo è tutto. Hai installato e configurato correttamente Wildfly con Nginx come proxy inverso su Debian 10. Sentiti libero di chiedermi se hai domande.


Debian
  1. Come installare Odoo 11 su CentOS 7 con Nginx come proxy inverso

  2. Come installare Odoo 10 su CentOS 7 con Nginx come proxy inverso

  3. Come installare Flectra su Ubuntu 20.04 con Nginx come proxy inverso

  4. Come installare Odoo 12 su Ubuntu 18.04 con Nginx come proxy inverso

  5. Come installare e configurare JBoss AS con Java e Apache2 come proxy inverso

Come installare WildFly Java Application Server con Nginx Reverse Proxy su Ubuntu 20.04

Come installare Apache Tomcat 9 con Nginx Proxy su Debian 10

Come installare GlassFish Java Server con Nginx come proxy inverso su Debian 11

Come installare Nextcloud 10 con Nginx su Debian 8

Installa Plex Media Server su Debian 11 Bullseye con Nginx Reverse Proxy

Come installare phpMyAdmin con Nginx su Debian 11