GNU/Linux >> Tutoriels Linux >  >> Debian

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

GlassFish est un serveur d'applications open source utilisé pour déployer des applications Java. Il prend en charge différentes technologies basées sur Java, notamment JPA, JavaServer Faces, JMS, RMI, ainsi que de nombreuses autres technologies basées sur Java. Il fournit une interface Web ainsi qu'une interface de ligne de commande pour la gestion des applications Java et de leurs composants. GlassFish vous permet de créer des applications portables et évolutives qui peuvent être facilement intégrées aux technologies existantes.

Dans ce tutoriel, je vais vous montrer comment installer le serveur Glassfish avec Nginx en tant que reverse proxy sur Debian 11.

Prérequis

  • Un serveur exécutant Debian 11.
  • Un nom de domaine valide pointé vers l'adresse IP de votre serveur.
  • Un mot de passe root est configuré sur le serveur.

Installer Java

Glassfish est un logiciel d'application basé sur Java, Java doit donc être installé sur votre serveur. S'il n'est pas installé, vous pouvez l'installer en exécutant la commande suivante :

apt-get install default-jdk unzip -y

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

java --version

Vous obtiendrez le résultat suivant :

openjdk 11.0.13 2021-10-19
OpenJDK Runtime Environment (build 11.0.13+8-post-Debian-1deb11u1)
OpenJDK 64-Bit Server VM (build 11.0.13+8-post-Debian-1deb11u1, mixed mode, sharing)

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

Télécharger Glassfish

Tout d'abord, vous devrez télécharger la dernière version de Glassfish à partir du site Web d'Eclipse. Vous pouvez le télécharger à l'aide de la commande wget comme indiqué ci-dessous :

wget https://download.eclipse.org/ee4j/glassfish/glassfish-6.1.0.zip

Une fois le téléchargement terminé, extrayez le fichier téléchargé dans le répertoire /opt :

unzip glassfish-6.1.0.zip -d /opt/

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

Créer un fichier de service Systemd pour Glassfish

Ensuite, vous devrez créer un fichier de service systemd pour gérer le service Glassfish. Vous pouvez le créer à l'aide de la commande suivante :

nano /usr/lib/systemd/system/glassfish.service

Ajoutez les lignes suivantes :

[Unit]
Description = GlassFish Server v6.1.0
After = syslog.target network.target

[Service]
User = root
ExecStart = /usr/bin/java -jar /opt/glassfish6/glassfish/lib/client/appserver-cli.jar start-domain
ExecStop = /usr/bin/java -jar /opt/glassfish6/glassfish/lib/client/appserver-cli.jar stop-domain
ExecReload = /usr/bin/java -jar /opt/glassfish6/glassfish/lib/client/appserver-cli.jar restart-domain
Type = forking

[Install]
WantedBy = multi-user.target

Enregistrez et fermez le fichier lorsque vous avez terminé. Ensuite, rechargez le démon systemd pour appliquer les modifications.

systemctl daemon-reload

Ensuite, démarrez le service Glassfish et activez-le au redémarrage du système :

systemctl start glassfish
systemctl enable glassfish

Vous pouvez également vérifier le service Glassfish à l'aide de la commande suivante :

systemctl status glassfish

Vous obtiendrez le résultat suivant :

? glassfish.service - GlassFish Server v6.1.0
     Loaded: loaded (/lib/systemd/system/glassfish.service; disabled; vendor preset: enabled)
     Active: active (running) since Sun 2021-11-07 04:56:16 UTC; 8s ago
    Process: 6018 ExecStart=/usr/bin/java -jar /opt/glassfish6/glassfish/lib/client/appserver-cli.jar start-domain (code=exited, status=0/SUC>
   Main PID: 6037 (java)
      Tasks: 91 (limit: 4679)
     Memory: 343.0M
        CPU: 13.299s
     CGroup: /system.slice/glassfish.service
             ??6037 /usr/lib/jvm/java-11-openjdk-amd64/bin/java -cp /opt/glassfish6/glassfish/modules/glassfish.jar -XX:+UnlockDiagnosticVMOp>

Nov 07 04:56:10 debian11 systemd[1]: Starting GlassFish Server v6.1.0...
Nov 07 04:56:16 debian11 java[6018]: Waiting for domain1 to start .....
Nov 07 04:56:16 debian11 java[6018]: Successfully started the domain : domain1
Nov 07 04:56:16 debian11 java[6018]: domain  Location: /opt/glassfish6/glassfish/domains/domain1
Nov 07 04:56:16 debian11 java[6018]: Log File: /opt/glassfish6/glassfish/domains/domain1/logs/server.log
Nov 07 04:56:16 debian11 java[6018]: Admin Port: 4848
Nov 07 04:56:16 debian11 java[6018]: Command start-domain executed successfully.
Nov 07 04:56:16 debian11 systemd[1]: Started GlassFish Server v6.1.0.

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

Définir le mot de passe administrateur Glassfish

Par défaut, Glassfish est accessible sans mot de passe. C'est donc une bonne idée de le sécuriser en créant un mot de passe administrateur. Vous pouvez le faire en exécutant la commande suivante :

/opt/glassfish6/bin/asadmin --port 4848 change-admin-password

Il vous sera demandé de fournir le nom d'utilisateur de l'administrateur comme indiqué ci-dessous :

Enter admin user name [default: admin]>admin

Indiquez le nom d'utilisateur de l'administrateur par défaut et appuyez sur la touche Entrée. Il vous sera demandé de fournir le mot de passe administrateur existant :

Enter the admin password> 

Appuyez simplement sur la touche Entrée. Il vous sera demandé de définir un nouveau mot de passe administrateur comme indiqué ci-dessous :

Saisissez le nouveau mot de passe administrateur> Saisissez à nouveau le nouveau mot de passe administrateur>

Définissez votre mot de passe sécurisé et appuyez sur Entrée. Vous obtiendrez le résultat suivant :

Command change-admin-password executed successfully.

Ensuite, il est également recommandé d'activer le HTTPS sur Glassfish. Vous pouvez le faire en exécutant la commande suivante :

/opt/glassfish6/bin/asadmin --port 4848 enable-secure-admin

Il vous sera demandé de fournir votre nom d'utilisateur et votre mot de passe d'administrateur pour activer le HTTPS :

Enter admin user name>  admin
Enter admin password for user "admin"> 
You must restart all running servers for the change in secure admin to take effect.
Command enable-secure-admin executed successfully.

Enfin, redémarrez le service Glassfish pour appliquer les modifications :

systemctl restart glassfish

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

Accéder à l'interface Web GlassFish

À ce stade, Glassfish est installé et fonctionne. Par défaut, l'interface Web Glassfish écoute sur le port 8080 pendant que l'interface d'administration écoute sur le port 4848 . Tout d'abord, accédez à l'interface Web de Glassfish à l'aide de l'URL http://your-server-ip:8080 . Vous devriez voir la page suivante :

Ensuite, accédez à l'interface d'administration de Glassfish en utilisant l'URL https://your-server-ip:4848 . Vous serez redirigé vers la page de connexion Glassfish :

Indiquez votre nom d'utilisateur et votre mot de passe d'administrateur et cliquez sur Connexion bouton. Vous devriez voir l'interface d'administration de Glassfish sur la page suivante :

Cliquez sur le serveur dans le volet de gauche, vous devriez voir l'écran suivant :

À partir de là, vous pouvez redémarrer, arrêter et afficher les journaux Glassfish.

Cliquez sur les nœuds dans le volet de gauche, vous devriez voir les informations du nœud Glassfish dans l'écran suivant :

Configurer Nginx en tant que proxy inverse pour Glassfish

C'est une bonne idée de configurer le Nginx en tant que proxy inverse pour accéder à l'interface Web de Glassfish. Vous pouvez donc accéder à votre application sans utiliser le port 8080 .

Pour ce faire, installez d'abord le package Nginx avec la commande suivante :

apt-get install nginx -y

Une fois installé, créez un fichier de configuration d'hôte virtuel Nginx à l'aide de la commande ci-dessous :

nano /etc/nginx/conf.d/glassfish.conf

Ajoutez les lignes suivantes :

upstream glassfish {
  server 127.0.0.1:8080 weight=100 max_fails=5 fail_timeout=5;
}

server {
  listen          80;
  server_name     glassfish.example.com;

  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://glassfish/hello/;
  }
}

Enregistrez et fermez le fichier puis vérifiez le Nginx pour toute erreur de syntaxe en utilisant la commande suivante :

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

Ensuite, redémarrez le service Nginx pour appliquer les modifications :

systemctl restart nginx

Vous pouvez également vérifier l'état du Nginx avec la commande suivante :

systemctl status nginx

Vous devriez obtenir 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 Sun 2021-11-07 05:02:58 UTC; 22s ago
       Docs: man:nginx(8)
    Process: 6790 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
    Process: 6791 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
   Main PID: 6873 (nginx)
      Tasks: 3 (limit: 4679)
     Memory: 5.1M
        CPU: 53ms
     CGroup: /system.slice/nginx.service
             ??6873 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
             ??6875 nginx: worker process
             ??6876 nginx: worker process

Nov 07 05:02:58 debian11 systemd[1]: Starting A high performance web server and a reverse proxy server...
Nov 07 05:02:58 debian11 systemd[1]: Started A high performance web server and a reverse proxy server.

À ce stade, Nginx est installé et configuré pour servir l'interface Web Glassfish. Vous pouvez maintenant accéder à l'interface Web Glassfish en utilisant l'URL http://glassfish.example.com .

Conclusion

Toutes nos félicitations! vous avez installé avec succès le serveur Glassfish avec Nginx en tant que proxy inverse sur Debian 11. Vous pouvez maintenant commencer à déployer votre application basée sur Java sur le serveur Glassfish. N'hésitez pas à me demander si vous avez des questions.


Debian
  1. Comment installer le serveur HTTP Git avec Nginx sur Debian 11

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

  3. Comment installer Odoo 10 sur CentOS 7 avec Nginx en tant que proxy inverse

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

  5. Installer Odoo sur un VPS Debian 8 avec Nginx comme reverse proxy

Comment installer ONLYOFFICE Document Server avec Nginx sur Debian 10

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

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

Comment installer phpMyAdmin avec Nginx sur Debian 11

Comment installer Nginx avec PHP-FPM sur Debian 11