TOMCAT
De TwisterWiki
PRESENTATION
- Tomcat est un serveur d'application écrite en java comme Websphere ou Jboss
- Tomcat écoute par défaut sur les port 8080 et 8009
- Le port 8080 permet d’accéder au manager si il est installé et aux webapps
- Le port 8009 est utilisé pour communiqué avec apache et vi le mod_jk
Installation
- Il existe deux méthodes d'installation pour mettre en place tomcat
- En utilisant le paquets disponible sous Debian
- En téléchargeant sur apache.org le tgz
Installation en mode "tgz"
- C'est le mode d'installation que je prefer car tous les fichers saont au même endroit et permet d'installer une version précise
- Télécharger un jdk chez oracle (anciennement sun)
- Installer le jdk dans /usr/local
- Faire un lien symbolique de /usr/local/jdk1.7.0_02_x64 vers /usr/local/jdk
- Télécharger la version souhaitée de Tomcat (4, 5, 5.5, 6, 7) sur le site apache.org
- Décompresser l'archive dans /usr/local
- Faire un lien symbolique de /usr/local/apache-tomcat-7.0.30 vers /usr/local/tomcat
- Créer un un user tomcat
- Créer un script de démarrage basique
#! /bin/bash # ### BEGIN INIT INFO # Provides: tomcat # Required-Start: $local_fs $remote_fs $network # Required-Stop: $local_fs $remote_fs $network # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Start/stop tomcat server ### END INIT INFO NAME="Tomcat 7.0.30" TOMCAT_HOME=/usr/local/tomcat CATALINA_HOME=/usr/local/tomcat JAVA_HOME=/usr/local/jdk CATALINA_OPTS="-server -Xms2048m -Xmx2048m -XX:MaxPermSize=128m -Djava.awt.headless=true" TOMCAT_USER=tomcat export TOMCAT_HOME CATALINA_HOME JAVA_HOME CATALINA_OPTS TOMCAT_USER cd $TOMCAT_HOME/logs case "$1" in start) echo -ne "Starting $NAME.\n" /bin/su $TOMCAT_USER $TOMCAT_HOME/bin/startup.sh ;; stop) echo -ne "Stopping $NAME.\n" /bin/su $TOMCAT_USER $TOMCAT_HOME/bin/shutdown.sh ;; restart) echo -ne "Stopping $NAME.\n" /bin/su $TOMCAT_USER $TOMCAT_HOME/bin/shutdown.sh sleep 10 echo -ne "\n" echo -ne "\n" echo -ne "Starting $NAME.\n" /bin/su $TOMCAT_USER $TOMCAT_HOME/bin/startup.sh ;; *) echo "Usage: /etc/init.d/tomcat {start|stop|restart}" exit 1 ;; esac exit 0
Les dossiers principaux
------------------------------------------------------------------------ | Nom du dossier | Description | |----------------|------------------------------------------------------- | bin | Contient les scripts de démarrage | |----------------|------------------------------------------------------- | conf | Contient les fichiers de configuration | |----------------|------------------------------------------------------- | lib | Contient les librairies chargées par tomcat | |----------------|------------------------------------------------------- | logs | Contient les fichiers de log de tomcat | |----------------|------------------------------------------------------- | webapps | Contient les webapps (sites web) | |----------------|------------------------------------------------------- | work | Contient les fichiers de travail de tomcat. | | | se dossier peut être vider avant de redémarrer Tomcat | ------------------------------------------------------------------------
les fichiers de configuration
- Les fichiers de configuration sont dans /usr/local/tomcat/conf
------------------------------------------------------------------------- | Nom du fichier | Description | |---------------------|--------------------------------------------------- | catalina.properties | Contient les paths pour des librairies jar | |---------------------|--------------------------------------------------- | context.xml | | |---------------------|--------------------------------------------------- | logging.properties | définit le format des logs de Tomcat | |---------------------|--------------------------------------------------- | server.xml | fichier de configuration principal de Tomcat | |---------------------|--------------------------------------------------- | tomcat-users.xml | permettant de définir les accès au manager | |---------------------|--------------------------------------------------- | web.xml | fichier de configuration (contient les types mime | -------------------------------------------------------------------------
Le manager
- Le manager permet de réaliser quelque taches de maintenance
- Arrêter une webapps ou context
- Recharger un context
- Supprimer un context
- Mettre à jour un context
- Voir le nombre de sessions par context
- Déployer un nouveau context
Automatisation des taches
- Grace à l’outil Ant, il est possible de réaliser des scripts pour réaliser des taches d'administration
- Ant est un outils qui exécute des commandes lues dans un fichier au format xml (build.xml)
- Il est possible de lister les context d'un serveur, arrêter, démarrer, recharger, déployer un context avec cet outil
- Ant à besoin de se connecter au manager de tomcat afin de réaliser toutes ces taches.
démarrer un context
<target name="start" description="Start Tomcat context" depends="showInfos,input-context-name"> <start url="${tomcat.manager.url}" username="${tomcat.manager.username}" password="${tomcat.manager.password}" path="/${context.name}"/> </target>
stopper un context
<target name="stop" description="Stop Tomcat context" depends="showInfos,input-context-name"> <stop url="${tomcat.manager.url}" username="${tomcat.manager.username}" password="${tomcat.manager.password}" path="/${context.name}"/> </target>
lister les context
<target name="list" description="List Tomcat context" depends="showInfos"> <list url="${tomcat.manager.url}" username="${tomcat.manager.username}" password="${tomcat.manager.password}"/> </target>