GNU/Linux >> Linux Esercitazione >  >> Ubuntu

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

WildFly o precedentemente noto come JBoss AS è un'implementazione leggera del contenitore JEE (Java Enterprise Edition). Il suo runtime flessibile dell'applicazione è scritto in Java che ti aiuta a creare applicazioni fantastiche.

WildFly è un runtime di applicazioni multipiattaforma in esecuzione su sistemi operativi Linux, macOS e Windows. Creata da JBoss Inc, nel 2006 è stata acquisita da RedHat e diventata WildFly.

In questo tutorial, ti mostreremo come installare WildFly sull'ultimo Ubuntu 20.04. Installeremo l'ultima versione di WildFly 20, abiliteremo la console di amministrazione per WildFly, creeremo l'utente amministratore di WildFly e configureremo Nginx come proxy inverso per WildFly.

Prerequisiti

Per questa guida, installeremo WildFly sull'ultimo Ubuntu Server 20.04 FocalFossa con 2 GB di RAM, 50 GB di spazio libero su disco e 2 CPU.

Cosa faremo?

  • Installa Java OpenJDK 11
  • Aggiungi nuovo utente e scarica WildFly
  • Configurazione di base di WildFly
  • Abilita Console di amministrazione WildFly
  • Configura utente amministratore per WildFly
  • Imposta Nginx come proxy inverso per WildFly
  • Test

Passaggio 1:installa Java OpenJDK

Innanzitutto, installeremo Java OpenJDK sul server Ubuntu 20.04. E useremo Java OpenJDK 11 per la nostra installazione WildFly, che è la versione predefinita dei pacchetti Java sul repository Ubuntu 20.04.

Aggiorna il repository di tutti i pacchetti e installa Java OpenJDK utilizzando il comando apt di seguito.

sudo apt update
sudo apt install default-jdk

Una volta completata l'installazione, controlla la versione Java utilizzando il comando seguente.

java -version

Di seguito è riportato il risultato che otterrai.

openjdk version "11.0.7" 2020-04-14
OpenJDK Runtime Environment (build 11.0.7+10-post-Ubuntu-3ubuntu1)
OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Ubuntu-3ubuntu1, mixed mode, sharing)

Di conseguenza, l'installazione di Java OpenJDK su Ubuntu 20.04 è stata completata.

Passaggio 2:aggiungi nuovo utente e scarica WildFly

In questo passaggio creeremo un nuovo utente di sistema e un gruppo 'wildfly' e scaricheremo il codice sorgente di wildfly nella directory '/opt/wildfly'.

Ora crea un nuovo utente e gruppo chiamato 'wildfly' usando i comandi seguenti.

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

Quindi, vai alla directory '/opt' e scarica il codice sorgente wildfly usando il comando wget come di seguito.

cd /opt/
wget -q wget https://download.jboss.org/wildfly/20.0.1.Final/wildfly-20.0.1.Final.tar.gz

Il codice sorgente di Wildfly è stato scaricato.

Ora estrai il codice sorgente di wildfly e rinomina la directory estratta in 'wildfly'.

tar -xf wildfly-20.0.1.Final.tar.gz
mv wildfly-20.0.1.Final wildfly

Successivamente, cambia la proprietà della directory "wildfly" con l'utente e il gruppo "wildfly".

chown -RH wildfly:wildfly /opt/wildfly

Di conseguenza, la directory di installazione di wildfly si trova nella directory '/opt/wildfly'. Il servizio wildfly verrà eseguito con il nuovo utente denominato "wildfly" che abbiamo appena creato.

Fase 3 - Configurazione di base di WildFly

Dopo aver scaricato il codice sorgente di wildfly, configureremo wildfly sul sistema Ubuntu.

Crea una nuova directory di configurazione '/etc/wildfly' e copia la configurazione di esempio 'wildfly.conf' al suo interno.

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

Quindi, copia il file di servizio 'wildfly.service' nella directory '/etc/systemd/system'.

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

Successivamente, copia l'esempio dello script di avvio di wildfly nella directory '/opt/wildfly/bin' e rendilo eseguibile.

cp /opt/wildfly/docs/contrib/scripts/systemd/launch.sh /opt/wildfly/bin/
chmod +x /opt/wildfly/bin/*.sh

Ora ricarica il systemd manager per applicare il nuovo file 'wildfly.service'.

systemctl daemon-reload

Avvia il servizio wildfly e aggiungilo all'avvio del sistema.

systemctl start wildfly
systemctl enable wildfly

Il servizio wildfly è attivo e funzionante sul sistema Ubuntu con la configurazione predefinita.

Controlla il servizio Wildfly usando il comando seguente.

ss -plnt
systemctl status wildfly

E otterrai il risultato come di seguito.

Come si può vedere, il wildfly viene eseguito come un servizio systemd sulla porta TCP predefinita '8080' sul sistema Ubuntu.

Passaggio 4:abilita WildFly Admin Console

In questo passaggio, imposteremo un wildfly per l'esecuzione sull'indirizzo IP locale "127.0.0.1" e abiliteremo la sua console di amministrazione. Modificheremo la configurazione wildfly 'wildfly.conf', lo script di avvio wildfly 'launch.sh' e il file di servizio wildfly 'wildfly.service'.

Modifica la configurazione di wildfly '/etc/wildfly/wildfly.conf' usando l'editor vim.

vim /etc/wildfly/wildfly.conf

Ora cambia il valore di 'WILDFLY_BIND' con l'indirizzo IP locale '127.0.0.1'.

WILDFLY_BIND=127.0.0.1

Per abilitare la console di amministrazione wildfly, aggiungi la configurazione "WILDFLY_CONSOLE_BIND" di seguito.

WILDFLY_CONSOLE_BIND=127.0.0.1

Salva e chiudi.

Quindi, modifica lo script di avvio del lancio per wildfly '/opt/wildfly/bin/launch.sh' usando l'editor vim.

vim /opt/wildfly/bin/launch.sh

In 'dominio.sh ' e 'standalone.sh ' linee, aggiungi un'opzione aggiuntiva per abilitare la console di amministrazione wildfly come di seguito.

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.

Quindi, modifica il file di servizio predefinito per wildfly '/etc/systemd/system/wildfly.service' usando l'editor vim.

vim /etc/systemd/system/wildfly.service

Su 'ExecStart=/opt/wildfly/bin/launch.sh.... ', aggiungi l'opzione '$WILDFLY_CONSOLE_BIND ' come di seguito.

ExecStart=/opt/wildfly/bin/launch.sh $WILDFLY_MODE $WILDFLY_CONFIG $WILDFLY_BIND $WILDFLY_CONSOLE_BIND

Salva e chiudi.

Ora ricarica il systemd manager e riavvia il servizio wildfly.

systemctl daemon-reload
systemctl restart wildfly

Il servizio wildfly è in esecuzione con la console di amministrazione abilitata, verifica utilizzando il comando seguente.

ss -plnt
systemctl status wildfly

Di seguito è riportato il risultato che otterrai.

Di conseguenza, il wildfly viene eseguito sull'indirizzo IP locale '127.0.0.1 ' con la porta TCP predefinita '8080 ' e la console di amministrazione wildfly abilitata sulla porta TCP '9990 '.

Passaggio 5 - Configurazione dell'utente amministratore WildFly

In questo passaggio creeremo un nuovo utente per la gestione di wildfly utilizzando lo script 'add-user.sh' fornito da wildfly.

Esegui lo script wildfly 'add-user.sh' come di seguito.

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

Per il tipo di utente, digita 'a ' per creare l'utente di gestione (amministratore per la gestione di wildfly).

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

Ora digita il tuo nome utente e password e assicurati di utilizzare la password sicura.

Enter the details of the new user to add.
Using the realm 'ManagementRealm' as discovered from the existing property files.
Username : hakase
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 :

Per il gruppo del nuovo utente, premi semplicemente 'Invio ' per continuare.

What groups do you want this user to belong to? (Please enter a comma separated list, or leave blank for none)[  ]:

Quindi, digita " ' per aggiungere il tuo utente a 'ManagementRealm ' su wildfly.

About to add user 'hakase' for realm 'ManagementRealm'
Is this correct yes/no? yes
Added user 'hakase' to file '/opt/wildfly/standalone/configuration/mgmt-users.properties'
Added user 'hakase' to file '/opt/wildfly/domain/configuration/mgmt-users.properties'
Added user 'hakase' with groups  to file '/opt/wildfly/standalone/configuration/mgmt-groups.properties'
Added user 'hakase' with groups  to file '/opt/wildfly/domain/configuration/mgmt-groups.properties'

Digita " ' per abilitare il tuo utente come processo per la gestione del controller host master-slave di wildfly.

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 <secret value="YXNoN2RhNjVzZyMkJQ==" />

Di conseguenza, è stato creato l'amministratore e l'utente di gestione per wildfly.

Passaggio 6:imposta Nginx come proxy inverso per WildFly

In questo passaggio, installeremo e configureremo Nginx come proxy inverso per Wildfly sul sistema Ubuntu.

Installa i pacchetti Nginx usando il comando apt di seguito.

sudo apt install nginx -y

Al termine dell'installazione, vai alla directory di configurazione '/etc/nginx/'.

cd /etc/nginx/

Crea un nuovo file 'proxy_headers.conf' nella directory '/etc/nginx/conf.d' usando l'editor vim.

vim conf.d/proxy_headers.conf

Incolla la seguente configurazione.

proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
add_header Front-End-Https on;
add_header Cache-Control no-cache;

Salva e chiudi.

Quindi, crea una nuova configurazione di host virtuale per wildfly nella directory '/etc/nginx/sites-available'.

vim sites-available/wildfly

Modifica l'indirizzo IP con il tuo e incollaci la configurazione.

server {
  listen          80;
  server_name     SERVER-IP;

  location / {
    include conf.d/proxy_headers.conf;
    proxy_pass http://127.0.0.1:8080;
  }

  location /management {
    include conf.d/proxy_headers.conf;
    proxy_pass http://127.0.0.1:9990/management;
  }

  location /console {
    include conf.d/proxy_headers.conf;
    proxy_pass http://127.0.0.1:9990/console;
  }

  location /logout {
    include conf.d/proxy_headers.conf;
    proxy_pass http://127.0.0.1:9990/logout;
  }

  location /error {
    include conf.d/proxy_headers.conf;
    proxy_pass http://127.0.0.1:9990;
  }

}

Salva e chiudi.

Quindi, attiva l'host virtuale wildfly e controlla la configurazione di Nginx.

ln -s /etc/nginx/sites-available/wildfly /etc/nginx/sites-enabled/
nginx -t

Ora assicurati che non ci siano errori, quindi riavvia il servizio Nginx.

systemctl restart nginx

Di conseguenza, l'installazione e la configurazione di Nginx di un proxy inverso per wildfly sono state completate.

Fase 7 - Test

Apri il tuo browser web e digita l'indirizzo IP del tuo server nella barra degli indirizzi.

http://192.168.1.50/

Ora otterrai la pagina indice predefinita Wildfly come di seguito.

Quindi, accedi alla console di amministrazione wildfly sul percorso URL '/console' come di seguito.

http://192.168.1.50/console/

Accedi utilizzando il tuo utente e password amministratore wildfly.

Ora otterrai la dashboard dell'amministratore Wildfly come di seguito.

Di conseguenza, l'installazione di wildfly con proxy inverso Nginx su Ubuntu 20.04 Server è stata completata con successo.


Ubuntu
  1. Come installare il server HTTP Git con Nginx su Ubuntu 16.04

  2. Come installare HTTP Git Server con Nginx su Ubuntu 20.04

  3. Come installare Odoo 10 su Ubuntu 16.04 con Nginx come proxy inverso

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

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

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

Come installare nginx come proxy inverso per Apache su Ubuntu 16.04

Come installare Jellyfin Media Server con Nginx su Ubuntu 20.04

Come installare Rocket.chat con proxy inverso nginx su Ubuntu 20.04

Come installare FileRun su Ubuntu 20.04 con Apache/Nginx

Come installare NGINX come proxy inverso per Apache su Ubuntu 18.04