Il y a 389 articles et 19 utilisateurs inscrits (ce bandeau est défini dans MediaWiki:Sitenotice)

Multiple Applications

De AJLSM
Aller à la navigation Aller à la recherche

Cette page décrit le scénario où l'on déploie une première application pour faire le service web et une seconde pour être utilisé par les scripts de publication. Cela présente l'avantage de pouvoir interrompre les scripts et les relancés sans perturbation du service web. Il est cependant à noter que les ressources étant partagés entre les diverses applications on peut voir un ralentissement du service web.

On distingue les deux Tomcat comme suit:

  1. le « front » qui fait le service web publique
  2. le « back » qui servira aux script de conversions/publication.

Préparer l'environnement à une approche multi-appli/tomcat/DB

Pour que notre approche fonctionne correctement, il faut :

  1. dupliquer le serveur Tomcat ;
  2. dupliquer l'application ;
  3. dupliquer la base de données (si nécessaire) ;
  4. Mettre à jour les scripts, commandes et alias pour qu'ils supportent l'approche multiple.

Duplication de Tomcat

On commencera par localiser Tomcat sur le serveur, ici, on supposera qu'il est situé dans /opt/. On va faire une copie du

  1. dupliquer le dossier de Tomcat dans /opt/ :
apache-tomcat-6.0.29/
apache-tomcat-6.0.29-back/
apache-tomcat-6.0.29-front -> apache-tomcat-6.0.29/
tomcat6-back -> apache-tomcat-6.0.29-back/
tomcat6-front -> apache-tomcat-6.0.29-front/

Figure : Exemple d'organisation (utilisant des liens symboliques)

}

Serveurs Tomcat

On va déployer un serveur pour gérer les scripts et un pour faire le service web

HTTP: 8080 # par défaut
AJP: 8009 # par défaut

Figure : Ports d'écoute pour l'application de front

HTTP: 9090 # par défaut
AJP: 9009 # par défaut

Figure : Ports d'écoute pour l'application de back

Mise à jour des scripts de l'environnement

  • mettre à jour les scripts de redémarage de tomcat flushAndRestart, restartTomcat
  • modifier le ~/.bashrc pour que les commandes de redémarrage gère plusieurs Tomcat:
tomcatFolder="$HOME/apps/tomcat6" # dossier de l'application tomcat

#alias tomcatBin="cd $tomcatFolder/bin"
#alias tomcatConf="cd $tomcatFolder/lib/tomcat6"

function tomcat-log() {
    tailf "${tomcatFolder}-$1/logs/catalina.out" # log tomcat
}

alias restartTomcat="sh ~/shell-scripts/restartTomcat.sh $1" # arrête tomcat, supprime le fichier .pid et redémarre
alias flushAndRestart="sh ~/shell-scripts/flushTomcatCache.sh $1 && sh ~/shell-scripts/restartTomcat.sh $1" # arrête Tomcat, nettoie work/ et temp/ et redémarre