GNU/Linux >> Linux Esercitazione >  >> Debian

Come installare e configurare WildFly (JBoss) su Debian 11

Wildfly è un server applicativo scritto in Java e sviluppato da RedHat. È un server semplice, leggero e potente con una CLI e una console di amministrazione. È open source, multipiattaforma e basato su sottosistemi collegabili che possono essere aggiunti o rimossi secondo necessità. Fornisce tutte le funzionalità necessarie per eseguire un'applicazione Web Java.

In questo tutorial, ti mostrerò come installare Wildfly con Nginx come proxy inverso su Debian 11.

Prerequisiti

  • Un server che esegue Debian 11.
  • Un nome di dominio valido puntato all'IP del tuo server.
  • Sul tuo server è configurata una password di root.

Installa Java JDK

Wildfly è un'applicazione basata su Java, quindi Java deve essere installato sul tuo server. Se non è installato, puoi installarlo eseguendo il seguente comando:

apt-get install default-jdk -y

Una volta installato Java, puoi verificarlo utilizzando il seguente comando:

java --version

Dovresti vedere la versione Java nel seguente output:

openjdk 11.0.12 2021-07-20
OpenJDK Runtime Environment (build 11.0.12+7-post-Debian-2deb10u1)
OpenJDK 64-Bit Server VM (build 11.0.12+7-post-Debian-2deb10u1, mixed mode, sharing)

Installa Wildfly

Innanzitutto, crea un utente e un gruppo per eseguire l'applicazione Wildfly utilizzando il comando seguente:

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

Quindi, scarica l'ultima versione di Wildfly usando il comando wget:

wget https://github.com/wildfly/wildfly/releases/download/25.0.1.Final/wildfly-25.0.1.Final.zip

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

unzip wildfly-25.0.1.Final.zip

Quindi, sposta la directory estratta in /opt usando il comando seguente:

mv wildfly-25.0.1.Final /opt/wildfly

Quindi, cambia la proprietà della directory /opt/wildfly:

chown -RH wildfly:wildfly /opt/wildfly

Quindi, crea una directory di configurazione Wildfly all'interno di /etc usando il seguente comando:

mkdir -p /etc/wildfly

Quindi, copia tutti i file necessari dalla directory Wildfly alla directory /etc/wildfly:

cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.conf /etc/wildfly/
cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.service /etc/systemd/system/
cp /opt/wildfly/docs/contrib/scripts/systemd/launch.sh /opt/wildfly/bin/

Quindi, imposta il permesso di esecuzione su tutti i file di script della shell:

chmod +x /opt/wildfly/bin/*.sh

Quindi, ricarica il demone systemd con il seguente comando:

systemctl daemon-reload

Successivamente, avvia e abilita il servizio Wildfly utilizzando il seguente comando:

systemctl start wildfly
systemctl enable wildfly

Per controllare lo stato del servizio Wildfly, esegui il comando seguente:

systemctl status wildfly

Otterrai il seguente output:

? wildfly.service - The WildFly Application Server
   Loaded: loaded (/etc/systemd/system/wildfly.service; disabled; vendor preset: enabled)
   Active: active (running) since Fri 2021-12-10 14:55:07 UTC; 6s ago
 Main PID: 20928 (launch.sh)
    Tasks: 59 (limit: 4701)
   Memory: 171.6M
   CGroup: /system.slice/wildfly.service
           ??20928 /bin/bash /opt/wildfly/bin/launch.sh standalone standalone.xml 0.0.0.0
           ??20929 /bin/sh /opt/wildfly/bin/standalone.sh -c standalone.xml -b 0.0.0.0
           ??21022 java -D[Standalone] -server -Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=tru

Dec 10 14:55:07 debian11 systemd[1]: Started The WildFly Application Server.

Abilita Console di amministrazione Wildfly

Per impostazione predefinita, la console di amministrazione di Wildfly è disabilitata. Si consiglia di abilitarlo per gestire l'applicazione Wildfly.

Puoi abilitarlo modificando il file di configurazione di Wildfly:

nano /etc/wildfly/wildfly.conf

Modifica le seguenti righe:

WILDFLY_BIND=127.0.0.1
WILDFLY_CONSOLE_BIND=127.0.0.1

Salva e chiudi il file, quindi modifica lo script di avvio di Wildfly e abilita la console di amministrazione.

nano /opt/wildfly/bin/launch.sh

Modifica il file come mostrato 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 il file, quindi modifica il file systemd di Wildfly:

nano /etc/systemd/system/wildfly.service

Modifica la seguente riga:

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

Salva e chiudi il file, quindi ricarica il demone systemd per applicare le modifiche alla configurazione:

systemctl daemon-reload

Quindi, riavvia il servizio Wildfly per applicare le modifiche:

systemctl restart wildfly

Puoi anche controllare lo stato del Wildfly con il seguente comando:

systemctl status wildfly

Otterrai il seguente output:

? wildfly.service - The WildFly Application Server
   Loaded: loaded (/etc/systemd/system/wildfly.service; disabled; vendor preset: enabled)
   Active: active (running) since Fri 2021-12-10 14:57:22 UTC; 3s ago
 Main PID: 21182 (launch.sh)
    Tasks: 64 (limit: 4701)
   Memory: 205.6M
   CGroup: /system.slice/wildfly.service
           ??21182 /bin/bash /opt/wildfly/bin/launch.sh standalone standalone.xml 127.0.0.1 127.0.0.1
           ??21183 /bin/sh /opt/wildfly/bin/standalone.sh -c standalone.xml -b 127.0.0.1 -bmanagement 127.0.0.1
           ??21282 java -D[Standalone] -server -Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=tru

Dec 10 14:57:22 debian11 systemd[1]: Started The WildFly Application Server.

A questo punto Wildfly viene avviato ed è in ascolto sulle porte 8080 e 9990. Puoi verificarle con il seguente comando:

ss -plnt

Otterrai il seguente output:

State        Recv-Q       Send-Q             Local Address:Port             Peer Address:Port                                                 
LISTEN       0            128                      0.0.0.0:22                    0.0.0.0:*           users:(("sshd",pid=678,fd=3))            
LISTEN       0            128                    127.0.0.1:8443                  0.0.0.0:*           users:(("java",pid=21282,fd=485))        
LISTEN       0            50                     127.0.0.1:9990                  0.0.0.0:*           users:(("java",pid=21282,fd=487))        
LISTEN       0            80                     127.0.0.1:3306                  0.0.0.0:*           users:(("mysqld",pid=12461,fd=21))       
LISTEN       0            128                    127.0.0.1:8080                  0.0.0.0:*           users:(("java",pid=21282,fd=476))        
LISTEN       0            128                         [::]:22                       [::]:*           users:(("sshd",pid=678,fd=4))            

Una volta terminato, puoi procedere al passaggio successivo.

Crea utente amministratore Wildfly

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

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

Ti verrà chiesto di scegliere i tipi di utente:

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

Digitare a e premere il tasto Invio per aggiungere l'utente di gestione. Ti verrà chiesto di definire il tuo nome utente e password come mostrato di seguito:

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

Fornisci il tuo nome utente, password e premi Invio . Ti verrà chiesto di aggiungere utenti al regno:

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 'hitesh' for realm 'ManagementRealm'
Is this correct yes/no? yes

Digita sì e premi Invio chiave per continuare. Una volta aggiunto l'utente, otterrai il seguente output:

Added user 'hitesh' to file '/opt/wildfly/standalone/configuration/mgmt-users.properties'
Added user 'hitesh' to file '/opt/wildfly/domain/configuration/mgmt-users.properties'
Added user 'hitesh' with groups  to file '/opt/wildfly/standalone/configuration/mgmt-groups.properties'
Added user 'hitesh' 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 Jakarta Enterprise Beans calls.
yes/no? yes
To represent the user add the following to the server-identities definition 

Una volta terminato, puoi procedere al passaggio successivo.

Installa e configura Nginx come proxy inverso

Successivamente, dovrai configurare Nginx come proxy inverso per accedere a Wildfly tramite la porta 80.

Innanzitutto, installa il pacchetto Nginx usando il comando seguente:

apt-get install nginx -y

Una volta installato Nginx, crea un file proxy Nginx con il seguente comando:

nano /etc/nginx/conf.d/proxy_headers.conf

Aggiungi le seguenti righe:

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 il file, quindi crea un file di configurazione dell'host virtuale Nginx per Wildfly:

nano /etc/nginx/conf.d/wildfly.conf

Aggiungi le seguenti righe:

server {
  listen          80;
  server_name     wildfly.yourdomain.com;

  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 il file, quindi verifica Nginx per eventuali errori di sintassi utilizzando il seguente comando:

nginx -t

Dovresti vedere il seguente output:

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

Infine, riavvia il servizio Nginx per applicare le modifiche:

systemctl restart nginx

Puoi anche controllare lo stato di Nginx usando il comando seguente:

systemctl status nginx

Otterrai il seguente output:

? nginx.service - A high performance web server and a reverse proxy server
   Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2021-12-10 15:12:26 UTC; 9s ago
     Docs: man:nginx(8)
  Process: 22115 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
  Process: 22116 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
 Main PID: 22117 (nginx)
    Tasks: 3 (limit: 4701)
   Memory: 3.8M
   CGroup: /system.slice/nginx.service
           ??22117 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
           ??22118 nginx: worker process
           ??22119 nginx: worker process

Dec 10 15:12:25 debian11 systemd[1]: Starting A high performance web server and a reverse proxy server...
Dec 10 15:12:26 debian11 systemd[1]: Started A high performance web server and a reverse proxy server.

A questo punto, Nginx è installato e configurato per servire Wildfly. Ora puoi procedere al passaggio successivo.

Accedi all'interfaccia utente Web di Wildfly

Ora apri il tuo browser web e accedi alla pagina dell'applicazione Wildfly utilizzando l'URL http://wildfly.yourdomain.com . Dovresti vedere la pagina predefinita di Wildfly nella schermata seguente:

Per accedere alla console di amministrazione di Wildfly, digita l'URL http://wildfly.yourdomain.com/console/ nel tuo browser web. Ti verrà chiesto di fornire un nome utente e una password di amministratore come mostrato di seguito:

Fornisci il nome utente e la password dell'amministratore e fai clic su Accedi pulsante. Una volta effettuato l'accesso, dovresti vedere la dashboard dell'amministratore di Wildfly:

Conclusione

Congratulazioni! hai installato correttamente Wildfly con Nginx come proxy inverso su Debian 11. Ora puoi usare Wildfly per ospitare la tua applicazione Java su Internet. Sentiti libero di chiedermi se hai domande.


Debian
  1. Come installare e configurare Redis 6.0 su Debian 11

  2. Come installare e configurare WildFly (JBoss) su Debian 10

  3. Come installare e configurare Mariadb 10 in Debian 11

  4. Come installare e configurare MongoDB 5 su Debian 11

  5. Come installare e configurare Redis 6 su Debian 11

Come installare e configurare Tripwire IDS su Debian 10

Come installare e configurare RabbitMQ su Debian 11

Come installare e configurare Memcached su Debian 11

Come installare e configurare il server NFS su Debian 11

Come installare e configurare Git in Debian 11

Come installare e configurare Apache su Debian 11?