« TOMCAT » : différence entre les versions

De TwisterWiki
Aucun résumé des modifications
Ligne 4 : Ligne 4 :
** Le port 8080 permet d’accéder au manager si il est installé et aux webapps
** 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
** Le port 8009 est utilisé pour communiqué avec apache et vi le mod_jk
== Installation ==
== INSTALLATION ==
* Il existe deux méthodes d'installation pour mettre en place tomcat
* Il existe deux méthodes d'installation pour mettre en place tomcat
** En utilisant le paquets disponible sous Debian
** En utilisant le paquets disponible sous Debian
** En téléchargeant sur apache.org le tgz
** En téléchargeant sur apache.org le tgz
== Installation en mode "tgz" ==
== Installation en mode "tgz" ==
* C'est le mode d'installation que je préfère car tous les fichiers sont au même endroit et permet d'installer une version précise et faire cohabiter plusieurs tomcat
* C'est le mode d'installation que je préfère car tous les fichiers sont au même endroit et permet d'installer une version précise et faire cohabiter plusieurs tomcat

Version du 10 octobre 2012 à 12:20

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 préfère car tous les fichiers sont au même endroit et permet d'installer une version précise et faire cohabiter plusieurs tomcat
  • 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="-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.           |
|                | ce dossier peut être vider avant de redémarrer Tomcat |
|                | en cas de soucis apres une mise à jour de webapps     |
 ------------------------------------------------------------------------

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>

ERREUR AU LANCEMENT DE TOMCAT

  • La Jvm n'est pas en mesure d'allouer la mémoire définie par les variable Xms et Xmx
Error occurred during initialization of VM
Could not reserve enough space for object heap