GNU/Linux >> Tutoriels Linux >  >> Debian

Comment installer WildFly avec Nginx en tant que proxy inverse sur Debian 10

WildFly est un environnement d'exécution d'application gratuit, open source et multiplateforme écrit en Java et développé par Red Hat qui vous permet de développer d'excellentes applications à partir d'un seul IDE. Il est léger, rapide, flexible et basé sur des sous-systèmes enfichables. Il fonctionne sur les systèmes d'exploitation Windows et Linux et vise à fournir aux utilisateurs un environnement d'exécution Java rapide et stable. Wildfly est livré avec un riche ensemble de fonctionnalités, notamment une exécution rapide et personnalisable, l'évolutivité, la configuration et la gestion unifiées, le chargement simultané, la liaison rapide, la gestion de domaine et bien d'autres.

Dans ce didacticiel, nous allons vous montrer les étapes pour installer Wildfly avec Nginx en tant que proxy inverse sur Debian 10.

Exigences

  • Un serveur exécutant Debian 10.
  • Un mot de passe root est configuré pour votre serveur.

Mise en route

Avant de commencer, vous devrez mettre à jour votre système avec la dernière version. Vous pouvez le faire en exécutant la commande suivante :

apt-get update -y
apt-get upgrade -y

Une fois votre serveur mis à jour, redémarrez votre serveur pour appliquer les modifications.

Installer Java

WildFly nécessite l'installation de Java version 8 sur votre serveur. Par défaut, Java 8 n'est pas disponible dans le référentiel par défaut de Debian 10. Vous devrez donc télécharger Java 8 depuis leur site officiel.

Après avoir téléchargé Java 8, extrayez la source Java dans le répertoire /usr/lib/jvm avec la commande suivante :

mkdir /usr/lib/jvm/
tar -zxvf jdk-8u221-linux-x64.tar.gz -C /usr/lib/jvm/

Ensuite, exécutez la commande suivante pour modifier la version Java par défaut :

update-alternatives --config java

Sélectionnez Java version 8 et appuyez sur Entrée. Vous devriez voir le résultat suivant :

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

Ensuite, vérifiez la version de Java à l'aide de la commande suivante :

java -version

Vous devriez obtenir le résultat suivant :

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)

Installer Wildfly

Tout d'abord, vous devrez créer un utilisateur et un groupe pour Wildfly. Vous pouvez le créer avec 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 avec la commande suivante :

wget https://download.jboss.org/wildfly/17.0.1.Final/wildfly-17.0.1.Final.zip

Une fois le téléchargement terminé, extrayez le fichier téléchargé avec la commande suivante :

unzip wildfly-17.0.1.Final.zip

Ensuite, copiez le répertoire extrait dans /opt/ avec la commande suivante :

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

Ensuite, changez la propriété du répertoire wildfly en utilisateur wildfly comme indiqué ci-dessous :

chown -RH wildfly:wildfly /opt/wildfly

Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.

Configurer Wildfly

Ensuite, vous devrez copier les fichiers nécessaires pour configurer WildFly.

Tout d'abord, copiez le fichier de configuration de WildFly dans le répertoire /etc/wildfly :

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

Ensuite, copiez le fichier launch.sh dans le répertoire /opt/wildfly/bin/ avec la commande suivante :

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

Ensuite, donnez l'autorisation d'exécution au fichier launch.sh :

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

Ensuite, copiez le fichier d'unité Wildfly systemd dans le répertoire /etc/systemd/system/ :

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

Ensuite, rechargez le démon systemd avec la commande suivante :

systemctl daemon-reload

Ensuite, démarrez le service WildFly et activez-le au démarrage avec la commande suivante :

systemctl start wildfly
systemctl enable wildfly

Vous pouvez maintenant vérifier l'état du service Wildfly avec la commande suivante :

systemctl status wildfly

Vous devriez obtenir 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 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.

Configurer l'authentification WildFly

Ensuite, vous devrez créer un utilisateur administrateur pour Wildfly pour accéder à la console d'administration WildFly. Vous pouvez le créer avec la commande suivante :

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

Vous devriez voir le résultat suivant :

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

Tapez a et appuyez sur Entrée pour créer un utilisateur de gestion. Au cours du processus de création d'utilisateur, vous devrez fournir un nom d'utilisateur, un mot de passe et un nom de groupe comme indiqué ci-dessous :

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 

Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.

Configurer WildFly pour qu'il soit accessible depuis un système distant

Par défaut, Wildfly n'est accessible qu'à partir du système local. Vous devrez donc le configurer pour accéder à partir du système distant. Vous pouvez le faire en éditant le fichier /etc/wildfly/wildfly.conf :

nano /etc/wildfly/wildfly.conf

Ajoutez la ligne suivante à la fin du fichier :

WILDFLY_CONSOLE_BIND=0.0.0.0

Enregistrez et fermez le fichier lorsque vous avez terminé. Ensuite, ouvrez le fichier /opt/wildfly/bin/launch.sh comme indiqué ci-dessous :

nano /opt/wildfly/bin/launch.sh

Modifiez le fichier comme indiqué ci-dessous :

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

Enregistrez et fermez le fichier. Ensuite, ouvrez le fichier /etc/systemd/system/wildfly.service.

nano /etc/systemd/system/wildfly.service

Modifiez le fichier comme indiqué ci-dessous :

[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

Enregistrez le fichier. Ensuite, créez le répertoire /var/run/wildfly et définissez les bonnes autorisations

mkdir /var/run/wildfly/
chown wildfly:wildfly /var/run/wildfly/

Enfin, rechargez le démon systemd et redémarrez le service Wildfly pour appliquer les modifications :

systemctl daemon-reload
systemctl restart wildfly

Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.

Accéder à Wildfly

Wildfly est maintenant installé et configuré pour accéder à partir du système distant. Par défaut, la console de gestion Wildfly écoute sur le port 9990. Vous pouvez y accéder en visitant l'URL http://192.168.0.4:9990 . Vous serez redirigé vers la page suivante :

Maintenant, fournissez votre nom d'utilisateur et votre mot de passe d'administrateur, puis cliquez sur Signer dans bouton. Vous devriez voir la console de gestion Wildfly dans l'écran suivant :

Vous pouvez également accéder à l'application Wildfly en visitant l'URL http://192.168.0.4:8080 . Vous devriez voir la page suivante :

Configurer Nginx en tant que proxy inverse pour Wildfly

Ensuite, vous devrez configurer Nginx en tant que proxy inverse pour la demande de proxy provenant des ports 80 à 8080.

Tout d'abord, installez Nginx avec la commande suivante :

apt-get install nginx -y

Une fois Nginx installé, créez un nouveau fichier d'hôte virtuel pour Nginx avec la commande suivante :

nano /etc/nginx/sites-available/wildfly.conf

Ajoutez les lignes suivantes :

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/;
  }
}

Enregistrez et fermez le fichier lorsque vous avez terminé. Ensuite, vérifiez Nginx pour toute erreur de syntaxe avec la commande suivante :

nginx -t

Vous devriez obtenir 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

Ensuite, activez l'hôte virtuel Nginx et redémarrez Nginx avec la commande suivante :

ln -s /etc/nginx/sites-available/wildfly.conf /etc/nginx/sites-enabled/
systemctl restart nginx

Vous pouvez maintenant accéder à l'application Wildfly sans spécifier le port 8080.

C'est ça. Vous avez installé et configuré avec succès Wildfly avec Nginx en tant que proxy inverse sur Debian 10. N'hésitez pas à me demander si vous avez des questions.


Debian
  1. Comment installer Odoo 11 sur CentOS 7 avec Nginx comme proxy inverse

  2. Comment installer Odoo sur CentOS 8 avec Nginx en tant que proxy inverse

  3. Comment installer Odoo 14 sur CentOS 8 avec Nginx en tant que proxy inverse

  4. Comment installer Odoo sur Ubuntu 20.04 avec Nginx en tant que proxy inverse

  5. Comment installer Odoo 12 sur Ubuntu 18.04 avec Nginx en tant que proxy inverse

Comment installer WildFly Java Application Server avec Nginx Reverse Proxy sur Ubuntu 20.04

Comment installer Apache Tomcat 9 avec Nginx Proxy sur Debian 10

Comment installer GlassFish Java Server avec Nginx en tant que proxy inverse sur Debian 11

Comment installer Nextcloud 10 avec Nginx sur Debian 8

Installez Plex Media Server sur Debian 11 Bullseye avec Nginx Reverse Proxy

Comment installer phpMyAdmin avec Nginx sur Debian 11