GNU/Linux >> Tutoriels Linux >  >> Linux

Comment configurer Tomcat avec Nginx en tant que proxy inverse sur Ubuntu 18.04

Apache Tomcat est une implémentation open source des technologies Java Servlet et JSP qui peut être utilisée pour déployer des applications basées sur Java. Il a été créé dans le cadre du sous-projet Apache-Jakarta, mais en raison de sa popularité, il est désormais hébergé en tant que projet Apache distinct. Tomcat fournit également des fonctionnalités supplémentaires qui facilitent le développement d'une solution d'application Web complète. Tomcat est simple, facile à utiliser et l'un des serveurs Web les plus utilisés au monde.

Si vous cherchez à exécuter des applications basées sur Java qui fonctionnent de manière transparente et rapide, alors Apache Tomcat est le meilleur choix pour vous.

Dans ce tutoriel, nous apprendrons comment installer et configurer Apache Tomcat avec Nginx en tant que proxy inverse sur Ubuntu 18.04 VPS.

Prérequis

  • Un nouveau VPS Ubuntu 18.04 sur la plate-forme cloud Atlantic.Net.
  • Un nom de domaine valide pointant vers votre adresse IP VPS. Dans ce didacticiel, nous utiliserons example.com.

Remarque :Vous pouvez vous référer au Atlantic DNS Guide pour gérer les enregistrements DNS.

Étape 1 - Créer un serveur cloud Atlantic.Net

Tout d'abord, connectez-vous à votre serveur Atlantic.Net Cloud. Créez un nouveau serveur en choisissant Ubuntu 18.04 comme système d'exploitation avec au moins 2 Go de RAM. Connectez-vous à votre serveur cloud via SSH et connectez-vous à l'aide des informations d'identification mises en évidence en haut de la page.

Une fois connecté à votre serveur Ubuntu 18.04, exécutez la commande suivante pour mettre à jour votre système de base avec les derniers packages disponibles.

apt-get update -y

Étape 2 - Installer Java

Apache Tomcat est une application basée sur Java, donc Java doit être installé sur votre système. Vous pouvez installer la dernière version de Java avec la commande suivante :

apt-get install default-jdk -y

Après avoir installé Java, vérifiez la version de Java avec la commande suivante :

java --version

Vous devriez obtenir le résultat suivant :

Étape 4 - Créer un utilisateur Tomcat

Ensuite, vous devrez créer un utilisateur et un groupe Tomcat pour exécuter le service Tomcat.

Tout d'abord, créez un groupe avec le nom tomcat à l'aide de la commande suivante :

groupadd tomcat

Ensuite, créez un nouvel utilisateur tomcat et faites de cet utilisateur un membre du groupe tomcat avec un répertoire d'accueil /home/tomcat.

useradd -s /bin/false -g tomcat -d /home/tomcat tomcat

À ce stade, l'utilisateur Tomcat est créé.

Étape 5 - Télécharger Tomcat

Tout d'abord, visitez la page de téléchargement d'Apache Tomcat. Vous devriez voir l'écran suivant :

Ensuite, téléchargez la dernière version d'Apache Tomcat avec la commande suivante :

wget http://www.mirrorservice.org/sites/ftp.apache.org/tomcat/tomcat-9/v9.0.31/bin/apache-tomcat-9.0.31-fulldocs.tar.gz

Après avoir téléchargé Apache Tomcat, extrayez le fichier téléchargé avec la commande suivante :

tar -xvzf apache-tomcat-9.0.31-fulldocs.tar.gz

Ensuite, déplacez le répertoire extrait vers /home/tomcat comme indiqué ci-dessous :

mv tomcat-9.0-doc /home/tomcat

Ensuite, changez la propriété du répertoire /home/tomcat en tomcat et accordez les autorisations appropriées avec la commande suivante :

chown -R tomcat:tomcat /home/tomcat
chmod -R 755 /home/tomcat/

Étape 6 - Créer un fichier d'unité système pour Tomcat

Ensuite, vous devrez créer un fichier de service systemd pour exécuter Tomcat en tant que service. Vous pouvez le créer avec la commande suivante :

nano /etc/systemd/system/tomcat.service

Ajoutez les lignes suivantes :

[Unit]
Description=Tomcat servlet container
After=network.target

[Service]
Type=forking

User=tomcat
Group=tomcat

Environment="JAVA_HOME=/usr/lib/jvm/default-java"
Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom"

Environment="CATALINA_BASE=/home/tomcat"
Environment="CATALINA_HOME=/home/tomcat"
Environment="CATALINA_PID=/home/tomcat/temp/tomcat.pid"
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"

ExecStart=/home/tomcat/bin/startup.sh
ExecStop=/home/tomcat/bin/shutdown.sh

[Install]
WantedBy=multi-user.target

Enregistrez et fermez le fichier. Ensuite, rechargez le démon systemd avec la commande suivante :

systemctl daemon-reload

Ensuite, démarrez le service Tomcat et activez-le après le redémarrage du système :

systemctl start tomcat
systemctl enable tomcat

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

systemctl status tomcat

Vous devriez voir le résultat suivant :

● tomcat.service - Tomcat servlet container
   Loaded: loaded (/etc/systemd/system/tomcat.service; disabled; vendor preset: enabled)
   Active: active (running) since Thu 2019-11-28 05:15:32 UTC; 7s ago
  Process: 6044 ExecStart=/home/tomcat/bin/startup.sh (code=exited, status=0/SUCCESS)
 Main PID: 6053 (java)
    Tasks: 43 (limit: 1150)
   CGroup: /system.slice/tomcat.service
           └─6053 /usr/lib/jvm/default-java/bin/java -Djava.util.logging.config.file=/home/tomcat/conf/logging.properties -Djava.util.logging.m

Nov 28 05:15:32 ubuntu1804 systemd[1]: Starting Tomcat servlet container...
Nov 28 05:15:32 ubuntu1804 startup.sh[6044]: Tomcat started.
Nov 28 05:15:32 ubuntu1804 systemd[1]: Started Tomcat servlet container.

Étape 7 - Accéder à l'interface Web de Tomcat

Tomcat est maintenant installé et en cours d'exécution sur le port 8080. Vous pouvez vérifier le port Tomcat avec la commande suivante :

netstat -ant

Vous devriez voir le résultat suivant :

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State     
tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN    
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN    
tcp6       0      0 :::8009                 :::*                    LISTEN    
tcp6       0      0 :::8080                 :::*                    LISTEN    
tcp6       0      0 :::22                   :::*                    LISTEN    
tcp6       0      0 127.0.0.1:8005          :::*                    LISTEN

Maintenant, ouvrez votre navigateur Web et visitez l'URL http://your-server-ip:8080 . Vous devriez voir la page Web par défaut de Tomcat :

Étape 8 - Configurer l'interface de gestion Web de Tomcat

Ensuite, vous devrez ajouter un identifiant pour accéder à l'application Web du gestionnaire.

Vous pouvez ajouter un utilisateur pour accéder à manager-gui et admin-gui en éditant le fichier tomcat-users.xml :

nano /home/tomcat/conf/tomcat-users.xml

Ajoutez les lignes suivantes au-dessus de la ligne  :

<role rolename="manager-gui"/>
<user username="tomcat1" password="s3cret" roles="manager-gui"/>
<role rolename="admin-gui"/>
<user username="tomcat" password="s3cret" roles="admin-gui"/>

Enregistrez et fermez le fichier lorsque vous avez terminé.

Pour supprimer la restriction pour l'application Manager, modifiez le fichier context.xml comme indiqué ci-dessous :

nano /home/tomcat/webapps/manager/META-INF/context.xml

Commentez la section Vanne comme indiqué ci-dessous :

<Context antiResourceLocking="false" privileged="true" >
<!--
  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|223.184.194.44" />
-->
  <Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreven$
</Context>

Enregistrez et fermez le fichier.

Pour supprimer la restriction pour l'application Host Manager, modifiez le fichier context.xml comme indiqué ci-dessous :

nano /home/tomcat/webapps/host-manager/META-INF/context.xml

Commentez la section Vanne comme indiqué ci-dessous :

<Context antiResourceLocking="false" privileged="true" >
<!--

  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|223.184.194.44|172.20.10.3" />
-->

  <Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreven$
</Context>

Enregistrez et fermez le fichier lorsque vous avez terminé. Redémarrez ensuite le service Tomcat pour appliquer les modifications :

systemctl restart tomcat

Maintenant, ouvrez votre navigateur Web et tapez l'URL http://your-server-ip:8080 . Vous devriez voir la page suivante :

Maintenant, cliquez sur Manager App/Host Manage bouton. Vous serez invité à entrer le nom d'utilisateur et le mot de passe de l'administrateur. Indiquez votre nom d'utilisateur et votre mot de passe d'administrateur et cliquez sur Connexion bouton. Vous devriez voir l'application Manager/Host Manager sur la page suivante :

Étape 9 - Configurer le proxy Nginx pour Tomcat

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

apt-get install nginx -y

Une fois installé, créez un nouveau fichier de configuration d'hôte virtuel pour Tomcat.

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

Ajoutez les lignes suivantes :

server {
  listen 80;

  server_name    example.com;
  access_log /var/log/nginx/tomcat-access.log;
  error_log /var/log/nginx/tomcat-error.log;

  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://127.0.0.1:8080/;
  }
}

Enregistrez et fermez le fichier, puis activez le fichier d'hôte virtuel Nginx et redémarrez le serveur Web Nginx pour appliquer la configuration :

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

Vous pouvez désormais accéder à votre interface Web Tomcat à l'aide de l'URL http://example.com .

Conclusion

Toutes nos félicitations! Votre installation de Tomcat est maintenant terminée. J'espère que vous avez maintenant suffisamment de connaissances pour déployer votre application basée sur Java sur le serveur Tomcat. Pour plus d'informations, consultez la documentation officielle de Tomcat sur Tomcat Doc. Essayez Tomcat dès aujourd'hui avec l'hébergement VPS d'Atlantic.Net !


Linux
  1. Comment configurer un proxy inverse Nginx

  2. Comment configurer Nginx en tant que proxy inverse sur Ubuntu 20.04

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

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

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

Comment configurer Nginx en tant que proxy inverse pour Apache sur Ubuntu 18.04 VPS

Comment configurer un serveur Seafile avec Nginx sur Ubuntu 18.04

Comment installer Bludit CMS avec NGINX sur Ubuntu 20.04

Comment installer Talkyard Forum avec Nginx sur Ubuntu 18.04

Comment installer Apache Tomcat 10 sur Ubuntu 20.04 avec Nginx

Comment installer Apache Tomcat 10 sur Ubuntu 22.04 avec Nginx