Recherche de site Web

Comment installer le serveur d'applications Java WildFly avec Nginx sur Ubuntu 22.04


Wildfly est un environnement d'exécution d'application simple, léger et flexible utilisé pour créer des applications Java. Il est écrit en Java et peut fonctionner sur les systèmes d'exploitation Linux, macOS et Windows. Il s'agit d'un serveur d'applications d'entreprise complet qui fournit toutes les fonctionnalités nécessaires pour exécuter une application Web Java.

Fonctionnalités

  • Gratuit et open source
  • Modulaire et léger.
  • Économisez des ressources avec une gestion efficace.
  • Gagnez du temps avec un développement plus rapide.

Ce tutoriel vous montrera comment installer Wildfly avec Nginx en tant que proxy inverse sur Ubuntu 22.04.

Conditions préalables

  • Un serveur exécutant Ubuntu 22.04.
  • Un nom de domaine valide pointe vers l'adresse IP de votre serveur.
  • Un mot de passe root est configuré sur votre serveur.

Mettre à jour le système

Tout d’abord, vous devrez mettre à jour tous vos packages système vers la version mise à jour. Vous pouvez tous les mettre à jour en exécutant la commande suivante.

apt update -y
apt upgrade -y

Une fois tous les packages mis à jour, vous pouvez passer à l'étape suivante.

Installer le JDK Java

Wildfly est une application basée sur Java. Vous devrez donc installer Java sur votre serveur. Vous pouvez installer Java JDK avec la commande suivante.

apt install default-jdk -y

Une fois Java installé, vous pouvez vérifier la version Java à l'aide de la commande suivante.

java --version

Vous devriez voir la version Java dans le résultat suivant.

openjdk 11.0.17 2022-10-18
OpenJDK Runtime Environment (build 11.0.17+8-post-Ubuntu-1ubuntu222.04)
OpenJDK 64-Bit Server VM (build 11.0.17+8-post-Ubuntu-1ubuntu222.04, mixed mode, sharing)

Téléchargez et installez Wildfly

Avant de commencer, vous devrez créer un utilisateur et un groupe dédiés pour exécuter Wildfly. Vous pouvez créer les deux à l’aide de la commande suivante.

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

Ensuite, téléchargez la dernière version de Wildfly à l’aide de la commande suivante.

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

Une fois le téléchargement terminé, décompressez le fichier téléchargé avec la commande suivante.

unzip wildfly-26.1.3.Final.zip

Ensuite, déplacez le répertoire Wildfly extrait vers le répertoire /opt.

mv wildfly-26.1.3.Final /opt/wildfly

Ensuite, modifiez la propriété du répertoire Wildfly à l'aide de la commande suivante.

chown -RH wildfly: /opt/wildfly

Une fois que vous avez terminé, vous pouvez procéder à la configuration de Wildfly.

Configurer Wildfly

Tout d’abord, créez un répertoire de configuration Wildfly à l’aide de la commande suivante.

mkdir -p /etc/wildfly

Ensuite, copiez le fichier de configuration Wildfly dans le répertoire /etc/wildfly.

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

Ensuite, copiez le fichier du service Wildfly dans le répertoire systemd.

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

Ensuite, copiez le fichier Wildfly launch.sh dans le répertoire /opt/wildfly/bin/.

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

Ensuite, définissez l'autorisation exécutable sur le fichier de script.

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

Ensuite, rechargez le démon systemd pour appliquer les modifications.

systemctl daemon-reload

Ensuite, démarrez le service Wildfly et ajoutez-le au démarrage du système.

systemctl start wildfly
systemctl enable wildfly

Vous pouvez maintenant vérifier l'état de Wildfly à l'aide de la commande suivante.

systemctl status wildfly

Vous obtiendrez le résultat suivant.

? wildfly.service - The WildFly Application Server
     Loaded: loaded (/etc/systemd/system/wildfly.service; disabled; vendor preset: enabled)
     Active: active (running) since Wed 2023-02-15 09:34:24 UTC; 4s ago
   Main PID: 20425 (launch.sh)
      Tasks: 61 (limit: 4579)
     Memory: 111.6M
        CPU: 6.919s
     CGroup: /system.slice/wildfly.service
             ??20425 /bin/bash /opt/wildfly/bin/launch.sh standalone standalone.xml 0.0.0.0
             ??20426 /bin/sh /opt/wildfly/bin/standalone.sh -c standalone.xml -b 0.0.0.0
             ??20534 java "-D[Standalone]" -server -Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stac>

Feb 15 09:34:24 ubuntu2204 systemd[1]: Started The WildFly Application Server.

Par défaut, Wildfly écoute sur les ports 8080 et 9990. Vous pouvez les vérifier avec la commande suivante.

ss -antpl | grep -i java

Vous devriez voir le résultat suivant.

LISTEN 0      4096         0.0.0.0:8443      0.0.0.0:*    users:(("java",pid=20534,fd=498))                                                                
LISTEN 0      50         127.0.0.1:9990      0.0.0.0:*    users:(("java",pid=20534,fd=497))                                                                
LISTEN 0      4096         0.0.0.0:8080      0.0.0.0:*    users:(("java",pid=20534,fd=495))                                                                

Configurer la console d'administration Wildfly

Par défaut, la console d'administration Wildfly est désactivée. Vous devrez donc l'activer pour accéder à Wildfly depuis le navigateur Web.

Tout d’abord, modifiez le fichier de configuration Wildfly à l’aide de la commande suivante.

nano /etc/wildfly/wildfly.conf

Modifiez les lignes suivantes.

WILDFLY_BIND=127.0.0.1
WILDFLY_CONSOLE_BIND=127.0.0.1

Enregistrez et fermez le fichier lorsque vous avez terminé. Ensuite, modifiez le fichier launch.sh avec la commande suivante.

nano /opt/wildfly/bin/launch.sh

Modifiez les lignes suivantes :

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

Enregistrez et fermez le fichier, puis modifiez le fichier du service Wildfly.

nano /etc/systemd/system/wildfly.service

Modifiez la ligne suivante.

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

Enregistrez et fermez le fichier, puis rechargez le démon systemd pour appliquer les modifications.

systemctl daemon-reload

Maintenant, redémarrez le service Wildfly pour implémenter les modifications.

systemctl restart wildfly

Ajouter un utilisateur administratif Wildfly

Ensuite, vous devrez ajouter un utilisateur administrateur pour accéder à la console d'administration Wildfly. Vous pouvez l'ajouter avec la commande suivante.

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

Il vous sera demandé le type d’utilisateur que vous souhaitez ajouter :

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

Fournissez les détails de votre nouvel utilisateur comme indiqué ci-dessous :

Using the realm 'ManagementRealm' as discovered from the existing property files.
Username : wadmin
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 :

Il vous sera demandé à quel groupe vous souhaitez que cet utilisateur appartienne :

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

Appuyez simplement sur la touche Entrée. Vous devriez voir le résultat suivant.

About to add user 'wadmin' for realm 'ManagementRealm'
Is this correct yes/no? yes
Added user 'wadmin' to file '/opt/wildfly/standalone/configuration/mgmt-users.properties'
Added user 'wadmin' to file '/opt/wildfly/domain/configuration/mgmt-users.properties'
Added user 'wadmin' with groups  to file '/opt/wildfly/standalone/configuration/mgmt-groups.properties'
Added user 'wadmin' 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 

Configurer Nginx pour Wildfly

À ce stade, Wildfly est installé et configuré pour s'exécuter sur localhost. Maintenant, vous devrez configurer Nginx comme proxy inverse pour accéder à l'interface Web de Wildfly.

Tout d’abord, installez le package Nginx à l’aide de la commande suivante.

apt install nginx -y

Ensuite, créez un fichier de configuration proxy_headers.

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

Ajoutez les configurations suivantes :

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

Enregistrez et fermez le fichier, puis créez un nouveau fichier de configuration d'hôte virtuel.

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

Ajoutez les configurations suivantes.

server {
  listen          80;
  server_name     wildfly.example.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;
  }

}

Enregistrez le fichier, puis vérifiez Nginx pour toute erreur de configuration de syntaxe.

nginx -t

Si tout va bien, vous obtiendrez le résultat suivant.

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

Enfin, redémarrez le service Nginx pour implémenter les modifications.

systemctl restart nginx

Vous pouvez vérifier l'état du service Nginx avec la commande suivante.

systemctl status nginx

Vous devriez voir le résultat suivant.

? 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 Wed 2023-02-15 09:38:18 UTC; 1s ago
       Docs: man:nginx(8)
    Process: 21027 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
    Process: 21028 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
   Main PID: 21029 (nginx)
      Tasks: 3 (limit: 4579)
     Memory: 3.4M
        CPU: 62ms
     CGroup: /system.slice/nginx.service
             ??21029 "nginx: master process /usr/sbin/nginx -g daemon on; master_process on;"
             ??21030 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""
             ??21031 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""

Feb 15 09:38:18 ubuntu2204 systemd[1]: Starting A high performance web server and a reverse proxy server...
Feb 15 09:38:18 ubuntu2204 systemd[1]: Started A high performance web server and a reverse proxy server.

Accéder à l'interface d'administration de Wildfly

Maintenant, ouvrez votre navigateur Web et accédez à l'interface d'administration de Wildfly à l'aide de l'URL http://wildfly.example.com/console. Il vous sera demandé de fournir les informations d'identification d'administrateur de Wildfly, comme indiqué ci-dessous :

Fournissez votre nom d'utilisateur administrateur, votre mot de passe puis cliquez sur le bouton Se connecter. Vous devriez voir le tableau de bord Wildfly sur l'écran suivant.

Vous pouvez également accéder à la page par défaut de Wildfly en utilisant l'URL http://wildfly.example.com. Vous devriez voir l'écran suivant.

Conclusion

Toutes nos félicitations! vous avez installé avec succès Wildfly avec Nginx en tant que proxy inverse sur le serveur Ubuntu 22.04. Vous pouvez maintenant commencer à créer une application étonnante à l’aide de la plateforme Wildfly. N'hésitez pas à me demander si vous avez des questions.

Articles connexes: