Comment exécuter plusieurs applications Web dans un serveur d'Apache Tomcat

Comment exécuter plusieurs applications Web dans un serveur d'Apache Tomcat

Apache Tomcat est un conteneur Web open source qui vous permet de déployer Servlets java, Jsp et Folie Pour exécuter un serveur Web propulsé par Java code. Il peut également être identifié comme un conteneur servlet de plate-forme ou un conteneur Web.

Simplement, Matou est un très populaire parmi de nombreuses parties prenantes industrielles en raison de nombreux avantages par rapport aux autres conteneurs Web sur le marché. Vous pouvez créer des archives Web à partir de votre projet Java et le déployer simplement dans un conteneur Tomcat pour héberger un serveur Web HTTP codé par Java. Les industries choisissent Apache Tomcat plutôt que d'autres conteneurs en raison des avantages suivants.

  1. Poids léger.
  2. Largement utilisé.
  3. Beaucoup plus rapide que les autres conteneurs.
  4. Facile à configurer.
  5. Très souple.

Habituellement, Apache Tomcat est un produit convivial qui donne aux ingénieurs l'espace pour déployer leur GUERRE artefacts (Archives Web) avec un minimum de modifications de configuration.

Ce message cible un public qui utilise déjà Tomcat et sait comment démarrer et utiliser le moteur Apache Tomcat.

Dans Apache Tomcat, Guerres devrait être mis dans le webapps Répertoire que le conteneur les déploie par défaut. Simplement, webapps Le répertoire agit comme le principal conteneur du code Java pour que Tomcat le déploie en tant que serveur Web.

Dans un scénario que nous devons héberger plus d'un serveur Web à partir d'un seul conteneur Tomcat, vous pouvez utiliser ce post comme guide pour l'accomplir. Je vais vous montrer comment déployer plusieurs applications Web ou deux serveurs Web dans un Tomcat à partir de cet article.

Conditions préalables: Java devrait être installé dans le serveur. De préférence 1.7.X ou au-dessus. Dans ce tutoriel, j'ai Java 1.7 installé depuis que j'utilise la version 8 Tomcat.0.37.

Vous pouvez installer Java en utilisant votre gestionnaire de packages tel Miam ou apte comme montré:

# yum install java [sur Centos Systèmes basés] # apt-get install default-jre [sur Debian Systèmes basés 

Étape 1: Installez le serveur Apache Tomcat

1. Créez d'abord un séparé matou Utilisateur utilisant racine compte.

# useradd tomcat # passwd tomcat 

Maintenant, connectez-vous à matou Utilisateur et téléchargez le dernier bundle Apache Tomcat du site officiel ici: https: // tomcat.apache.org / ou alternativement, vous pouvez utiliser la commande wget suivante pour télécharger directement dans le terminal.

Dans ce cas, je télécharge Apache Tomcat, 8.5.5, qui est l'une des dernières versions stables publiées maintenant.

$ wget http: // redRockDigImark.com / apachemirror / tomcat / tomcat-8 / v8.5.5 / bin / apache-tomcat-8.5.5.le goudron.gz 

2. Une fois le fichier téléchargé, décompressez le contenu à l'aide de la commande TAR et affichez la structure du répertoire comme indiqué:

$ TAR -XVF apache-tomcat-8.5.5.le goudron.gz $ cd apache-tomcat-8.5.5 / $ ls -l 
Apache Tomcat - Listing d'annuaire
total 112 drwxr-x---. 2 Tomcat Tomcat 4096 29 septembre 11:26 bin drwx------. 2 Tomcat Tomcat 4096 1 septembre 01:23 confr drwxr-x---. 2 Tomcat Tomcat 4096 29 septembre 11:26 lib -rw-r-----. 1 Tomcat Tomcat 57092 SEP 1 01:23 Licence DRWXR-X---. 2 Tomcat Tomcat 4096 1 septembre 01:21 Journaux -rw-r-----. 1 Tomcat Tomcat 1723 1 septembre 01:23 Avis -rw-R-----. 1 Tomcat Tomcat 7063 sept 1 01:23-----. 1 Tomcat Tomcat 15946 SEP 1 01:23.txt drwxr-x---. 2 Tomcat Tomcat 4096 29 septembre 11:26 Temp Drwxr-X---. 7 Tomcat Tomcat 4096 1 septembre 01:22 Webapps drwxr-x---. 2 Tomcat Tomcat 4096 1 septembre 01:21 travail 

Étape 2: Configurer le serveur Apache Tomcat

3. Le changement de configuration que nous recherchons se trouve dans le confli Le répertoire est utilisé pour placer tous les fichiers de configuration qui aident Tomcat à démarrer.

Le contenu du confli Le répertoire ressemble ci-dessous.

$ cd conf / $ ls -l 
CONF - LISTANCE DE RÉNERTOIRE
total 224 -rw-------. 1 Tomcat Tomcat 12502 1 septembre 01:23 Catalina.politique -rw-------. 1 Tomcat Tomcat 7203 1 septembre 01:23 Catalina.Propriétés -rw-------. 1 Tomcat Tomcat 1338 SEP 1 01:23 Contexte.xml -rw-------. 1 Tomcat Tomcat 1149 1 septembre 01:23 Jaspic-Providers.xml -rw-------. 1 Tomcat Tomcat 2358 1 septembre 01:23 Jaspic-Providers.xsd -rw-------. 1 Tomcat Tomcat 3622 SEP 1 01:23 journalisation.Propriétés -rw-------. 1 Tomcat Tomcat 7283 SEP 1 01:23 Serveur.xml -rw-------. 1 Tomcat Tomcat 2164 1 septembre 01:23 Tomcat-Users.xml -rw-------. 1 Tomcat Tomcat 2633 1 septembre 01:23 Tomcat-Users.xsd -rw-------. 1 Tomcat Tomcat 168133 SEP 1 01:23 Web.xml 

4. Dans ce cas, ce qui est important pour moi, c'est le serveur.xml déposer. Je ne vais donc pas faire une explication approfondie sur d'autres fichiers ou répertoires.

Le serveur.xml est le fichier de configuration qui indique matou ce à quel port le démarrer, quel contenu de répertoire à déployer et bien d'autres configurations principales et de base.

Il ressemble essentiellement à ci-dessous après avoir ouvert le fichier.

$ VIM Server.xml 
Server Apache Tomcat.Configuration XML

Étape 3: Déploiement des applications Web dans Apache Tomcat

5. Nous allons maintenant déployer une nouvelle application Web dans Apache Tomcat, trouver d'abord l'endroit où la balise de service est fermée et insérer en dessous des lignes après la première balise de service fermé.

Serveur.XML - Nouvelle entrée d'application Web
         
Déployer les applications Web à Tomcat

Comme vous le voyez, j'ai changé le port de connecteur pour 7070 dans l'entrée nouvellement insérée puisque le Tomcat par défaut commence par le port 8080. Après avoir configuré cela complètement, il y aura deux serveurs Web exécutés sous les ports 8080 et 7070.

6. Après avoir sauvé la modification apportée à serveur.xml, Créer un répertoire dans l'Apache appelé WebApps2 Dans l'Apache Main.

$ cd / home / tomcat / apache-tomcat-8.5.5 / $ mkdir webapps2 

Si vous observez le serveur.xml Nouvelle entrée que j'ai fournie, vous devriez voir que le nom du service, la base d'applications et le moteur sont nommés comme WebApps2. C'est la raison pour laquelle j'ai créé le répertoire nommé WebApps2. Vous pouvez en créer un comme vous le souhaitez, mais assurez-vous d'apporter des modifications à l'entrée telle qu'elle est nécessaire.

7. Pour m'assurer que le deuxième serveur Web est opérationnel, j'ai copié le contenu du webapps répertoire de WebApps2 annuaire.

$ cp -r webapps / * webapps2 / 

8. Maintenant la partie passionnante. Nous allons démarrer le serveur et voir si cela fonctionne. Aller à poubelle répertoire et exécuter le Commencez.shot scénario. Vous pouvez afficher les journaux dans le Catalina.dehors Le fichier réside dans le répertoire des journaux.

$ CD bin / $ ./Commencez.shot 
Commencez.SHE
Utilisation de catalina_base: / home / tomcat / apache-tomcat-8.5.5 Utilisation de Catalina_Home: / Home / Tomcat / Apache-Tomcat-8.5.5 Utilisation de Catalina_tmpdir: / Home / Tomcat / Apache-Tomcat-8.5.5 / temp.5.5 / bac / bootstrap.jar: / home / tomcat / apache-tomcat-8.5.5 / bin / tomcat-juli.Jar Tomcat a commencé. 

9. Si vous référez les journaux, vous pourrez voir que les deux webapps et WebApps2 sont déployés et l'application est démarrée sans aucun problème.

$ CD LOGS / $ TAIL -25F Catalina.dehors 
Catalina.Out - Vérification des journaux Apache Tomcat
29-Sep-2016 12:13:51.210 info [localhost-startStop-1] org.apache.Catalina.Commencez.Hostconfig.déploiement de déploiement du répertoire des applications Web / home / tomcat / apache-tomcat-8.5.5 /webapps/ Exemples 29-Sep-2016 12:13:51.661 info [localhost-startStop-1] org.apache.Catalina.Commencez.Hostconfig.Déploiement de déploiement de répertoire d'applications Web / Home / Tomcat / Apache-Tomcat-8.5.5 /webapps/ Exemples s'est terminé en 452 ms 29-Sep-2016 12:13:51.664 info [localhost-startStop-1] org.apache.Catalina.Commencez.Hostconfig.déploiement de déploiement du répertoire des applications Web / home / tomcat / apache-tomcat-8.5.5 /webapps/ Docs 29-Sep-2016 12:13:51.703 info [localhost-startStop-1] org.apache.Catalina.Commencez.Hostconfig.Déploiement de déploiement de répertoire d'applications Web / Home / Tomcat / Apache-Tomcat-8.5.5 /webapps/ Docs a terminé en 39 ms 29-Sep-2016 12:13:51.704 info [localhost-startStop-1] org.apache.Catalina.Commencez.Hostconfig.déploiement de déploiement du répertoire des applications Web / home / tomcat / apache-tomcat-8.5.5 /webapps/ Host-Manager 29-Sep-2016 12:13:51.744 info [localhost-startStop-1] org.apache.Catalina.Commencez.Hostconfig.Déploiement de déploiement de répertoire d'applications Web / Home / Tomcat / Apache-Tomcat-8.5.5 /webapps/ Host-Manager a terminé en 39 ms 29-Sep-2016 12:13:51.748 Info [Main] Org.apache.coyote.Abstraitprotocol.Commencez à démarrer ProtoColHandler [HTTP-NIO-8080] 29-SEP-2016 12:13:51.767 Info [Main] Org.apache.coyote.Abstraitprotocol.Commencez à démarrer ProtoColHandler [AJP-NIO-8009] 29-Sep-2016 12:13:51.768 Info [Main] Org.apache.Catalina.cœur.Service de normalisation.SERVICE DE CARRAT DE STARTINNERNE WebApps2 29-Sep-2016 12:13:51.768 Info [Main] Org.apache.Catalina.cœur.StandardEngine.Moteur de servlet de démarrage startintern: Apache Tomcat / 8.5.5 29-Sep-2016 12:13:51.777 info [localhost-startStop-1] org.apache.Catalina.Commencez.Hostconfig.déploiement de déploiement du répertoire des applications Web / home / tomcat / apache-tomcat-8.5.5 /WebApps2/ Manager 29-Sep-2016 12:13:51.879 info [localhost-startStop-1] org.apache.Catalina.Commencez.Hostconfig.Déploiement de déploiement de répertoire d'applications Web / Home / Tomcat / Apache-Tomcat-8.5.5 /WebApps2/ Manager a terminé en 102 ms 29-Sep-2016 12:13:51.879 info [localhost-startStop-1] org.apache.Catalina.Commencez.Hostconfig.déploiement de déploiement du répertoire des applications Web / home / tomcat / apache-tomcat-8.5.5 /WebApps2/ Root 29-Sep-2016 12:13:51.915 info [localhost-startStop-1] org.apache.Catalina.Commencez.Hostconfig.Déploiement de déploiement de répertoire d'applications Web / Home / Tomcat / Apache-Tomcat-8.5.5 /WebApps2/ Root a terminé en 35 ms 29-Sep-2016 12:13:51.927 info [localhost-startStop-1] org.apache.Catalina.Commencez.Hostconfig.déploiement de déploiement du répertoire des applications Web / home / tomcat / apache-tomcat-8.5.5 /WebApps2/ Exemples 29-Sep-2016 12:13:52.323 info [localhost-startStop-1] org.apache.Catalina.cœur.ApplicationContext.log ContextListener: contextinitialized () 29-Sep-2016 12:13:52.337 info [localhost-startStop-1] org.apache.Catalina.cœur.ApplicationContext.Log SessionListener: contextinitialized () 29-Sep-2016 12:13:52.341 info [localhost-startStop-1] org.apache.Catalina.Commencez.Hostconfig.Déploiement de déploiement de répertoire d'applications Web / Home / Tomcat / Apache-Tomcat-8.5.5 /WebApps2/ Exemples s'est terminé en 414 MS 29-Sep-2016 12:13:52.341 info [localhost-startStop-1] org.apache.Catalina.Commencez.Hostconfig.déploiement de déploiement du répertoire des applications Web / home / tomcat / apache-tomcat-8.5.5 /WebApps2/ Docs 29-Sep-2016 12:13:52.371 info [localhost-startStop-1] org.apache.Catalina.Commencez.Hostconfig.Déploiement de déploiement de répertoire d'applications Web / Home / Tomcat / Apache-Tomcat-8.5.5 /WebApps2/ Docs a terminé en 29 ms 29-Sep-2016 12:13:52.371 info [localhost-startStop-1] org.apache.Catalina.Commencez.Hostconfig.déploiement de déploiement du répertoire des applications Web / home / tomcat / apache-tomcat-8.5.5 /WebApps2/ Host-Manager 29-Sep-2016 12:13:52.417 info [localhost-startStop-1] org.apache.Catalina.Commencez.Hostconfig.Déploiement de déploiement de répertoire d'applications Web / Home / Tomcat / Apache-Tomcat-8.5.5 /WebApps2/ Host-Manager a terminé en 46 ms… 

dix. Dans ce scénario, l'IP du serveur que j'ai utilisé est 172.16.1.39 Et vous pouvez voir que je pourrais démarrer deux serveurs Web dans un seul conteneur Tomcat.

http: // 172.16.1.39: 8080 [1ère application Web] http: // 172.16.1.39: 7070 [2e application Web] 

J'espère que vous trouverez tous cet article utile et agréable. Rester en contact avec Tecmint Et n'hésitez pas à me contacter pour toute question concernant cet article.