Nous utilisons Tomcat comme moteur de Servlet.

L’installation d’un Tomcat standard est assez simple, mais on en atteint très vite les limites.
En effet, selon l’environnement, on va avoir besoin de plusieurs instance de Tomcat ; par exemple, pour toute la phase en amont de la pré-prod / prod, on souhaite gérer des environnements d’intégration, de recettte, de montée en charge, …

La première solution est de multiplier les installations de Tomcat. C’est très simple à mettre en place , mais lorsque l’on change de version du serveur, on doti modifier toutes les installations.

Une autre solution assez simple apportée par Tomcat, est la possibilité de définir plusieurs instances de Tomcat pour une même installation. Nous allons décrire dans ce billet comment le mettre en place :

  • La première chose à faire est de définir un scipt de démarrage/arrêt par instance de Tomcat.
    • On crée un fichier $TOMCAT_HOME/bin/startupMonInstance.sh qui sera identique au startup.sh auquel on ajoute :
    • [pastacode lang=”java” message=”” highlight=”” provider=”manual”]export CATALINA_BASE=….. /monInstance/[/pastacode]
    • (le chemin peut être complètement indépendant de l’arborescence Tomcat)
      On peut également modifier les paramètres de la JVM de chaque instance en ajoutant dans ce script la variable CATALINA_OPTS.
    • Et un fichier $TOMCAT_HOME/bin/shutdownMonInstance.sh qui sera identique au shutdown.sh auquel on ajoute :
    • [pastacode lang=”java” message=”” highlight=”” provider=”manual”]export CATALINA_BASE=….. /monInstance/[/pastacode]
  • On copie les fichiers de configuration $TOMCAT_HOME/conf/*.* dans le répertoire monInstance/conf
  • On modifie les ports du fichier monInstance/conf /server.xml pour pouvoir lancer les différents tomcats en même temps.

Au démarrage de chaque instance, Tomcat se charge de créer les répertoires manquants, notamment le webapps.