Il y a 389 articles et 19 utilisateurs inscrits (ce bandeau est défini dans MediaWiki:Sitenotice)
« Multiple Applications » : différence entre les versions
→Serveurs Tomcat : port à changer: shutdown et redirect |
m →Duplication de Tomcat : modèle var->path |
||
| Ligne 13 : | Ligne 13 : | ||
=== Duplication de Tomcat === | === Duplication de Tomcat === | ||
On commencera par [[localiser Tomcat]] sur le serveur, ici, on supposera qu'il est situé dans {{ | On commencera par [[localiser Tomcat]] sur le serveur, ici, on supposera qu'il est situé dans {{path|/opt/}}. Ensuite, on fera une copie du dossier de tomcat pour obtenir ce genre de configuration ('''->''' indique un lien symbolique) : | ||
{{figureShell| | {{figureShell| | ||
<syntaxhighlight lang='bash'> | <syntaxhighlight lang='bash'> | ||
Version du 24 avril 2012 à 13:31
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:
- le « front » qui fait le service web publique
- 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 :
- dupliquer le serveur Tomcat ;
- dupliquer l'application ;
- dupliquer la base de données (si nécessaire) ;
- 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/. Ensuite, on fera une copie du dossier de tomcat pour obtenir ce genre de configuration (-> indique un lien symbolique) :
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. Il faut changer quelques port :
- redémarrage (shutdown) ;
- redirection ;
- connecteur HTTP ;
- connecteur AJP.
<Server port="8005" shutdown="SHUTDOWN">
...
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" emptySessionPath="true" />
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" emptySessionPath="true" />
Figure : Ports d'écoute pour l'application de front
<Server port="9005" shutdown="SHUTDOWN">
...
<Connector port="9090" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="9443" emptySessionPath="true" />
<Connector port="9009" protocol="AJP/1.3" redirectPort="9443" emptySessionPath="true" />
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