tutoriel | Installation et configuration de Tomcat 8
Article publiée le 7 Avril 2014
Article mis à jour le 08 Novembre 2016
1) Présentation
Tomcat 8 est enfin sortie en version final et forcément je ne peux résister à l'idée de rédiger un petit tutoriel dessus.
Tous d'abord faisons un point sur les nouveautés:
- Implémentation des spécification de JAVA7
- Implémentation de Java Servlet 3.1,
- Implémentation de de JavaServer Page2.3
J'ai également eu des retours comme quoi Tomcat 8 serait plus performant que son prédécesseur!
Ci dessous un petit tuto rappel de comment installer un serveur tomcat (version 8):
Cette article reprend le tutoriel que j'ai rédigé pour tomcat 7 en étant adapté pour cette nouvelle version. Il n'y aura pas de gros changement pour les personnes ayant lu le tutoriel sur tomcat 7 🙂
Prérequis: Java
yum install java* pour (RedHat/Centos) ou apt-get install openjdk* (Sous debian/Ubuntu)
- Créez proprement votre répertoire d’installation de tomcat, dans mon cas cela sera /apps/tomcat
mkdir /apps/tomcat
- Décompressez l’archive dans le répertoire de destination:
mv <votre archive>.tar.gz <repertoire d’installation> && tar -xvf <repertoire d’installation>/<votre archive>.tar.gz
exemple: mv apache-tomcat-8.0.3.tar.gz && tar -xvf /apps/tomcat/apache-tomcat-8.0.3.tar.gz
Quelques petites explications:
- Le répertoire bin contient tous les scripts de tomcat notamment ceux de démarrage et d’arrêt.
- Le répertoire conf contient tous les fichiers de configuration de tomcat
- Le répertoire webapps contient toutes les webapps (vos servlets java)
2) Configuration
- Allez dans le répertoire conf:
cd conf
- Si vous désirez changer le port d’écoute éditez le fichier server.xml et éditez cette ligne en remplaçant le port par défaut 8080 par celui que vous désirez:
<Connector port= »8080″ protocol= »HTTP/1.1″
connectionTimeout= »20000″
redirectPort= »8443″ />
<!– A « Connector » using the shared thread pool–>
- Editons ensuite le fichier tomcat-user afin de définir le mot de passe de l’interface d’administration de tomcat:
Le dernier « paragraphe » du fichier de configuration est commenté. Pour le dé-commentez enlevez :
<!– et –>
Ajoutez ensuite les balises rolename:
<role rolename= »manager »/>
<role rolename= »manager-gui »/>
Créons ensuite le user qui aura les droits d’admin de votre serveur tomcat:
<user username= »tomcat-admin » password= »tomcat » roles= »manager,manager-gui »/>
Sans oublier de modifier le password !
-Il ne reste plus qu’ à redémarrer Tomcat :
rendez vous dans le répertoire bin (de tomcat) et exécutez ces scripts:
./shutdown.sh (pour arréter tomcat)
./startup.sh (pour démarrer tomcat)
- Connectez vous à l’interface d’administration de votre serveur tomcat via votre navigateur depuis cette URL: <ip ou DNS de votre machine>:8080
Ici vous trouverez la liste des Webapp déployées.
-Il existe 2 méthodes pour déployer une Webapp (fichier .war):
La première (la plus simple) consiste à cliquer sur le bouton déployer et de selectionnez votre fichier war.
Tomcat se chargera de la déployer pour vous. Une fois le déploiement terminé vous pourrez voir apparaître une nouvelle ligne avec le nom de votre Webapp.
La deuxième plus longue mais très utile si vous voulez scripter des déploiements automatiques consiste à arrêter votre serveur tomcat, déposez votre fichier war dans le répertoire webapps et redémarrer le service tomcat.
Votre Webapp sera automatiquement déployée.
Petite nouveauté! :
Avec la version 8 de tomcat l'interface d'administration a légèrement changé. Il est maintenant possible d'avoir facilement une vue concernant la consommation mémoire java:
3) Tunning :
Il est possible, si vous déployez des applications lourdes ou en grand nombre, que vous ayez des problèmes mémoires.
Dans ce cas vous pourrez avoir des messages d’erreur ou de grosses lenteurs lors de l’exécution de vos webapps.
Pour cela éditez le fichier startup.sh et ajoutez à la ligne export JAVA_OPTS= -server -Xms<mémoire minimal alloué> -Xmx <mémoire maximum alloué>
Exemple:
export JAVA_OPTS= »-server -Xms2048m -Xmx2048m »
Redémarrez votre serveur Tomcat afin que les modifications soient prises en comptes.
Si vous rencontrez d’autres problèmes mémoire vous pouvez vous rendre sur cette page :
Cette article traite d’un problème Tomcat et pourra peut-être vous aider.
4) Script de démarrage
Afin de vous faciliter la vie, je vous livre ci-dessous le script de démarrage de tomcat à déposer dans le répertoire init.d:
#!/bin/sh
CATALINA_HOME=<repertoire tomcat>; export CATALINA_HOME
JAVA_HOME=<repertoire java>; export JAVA_HOME
TOMCAT_OWNER=<votre user tomcat>; export TOMCAT_OWNER
start() {
echo -n « Starting Tomcat: »
su $TOMCAT_OWNER -c $CATALINA_HOME/bin/startup.sh
sleep 2
}
stop() {
echo -n « Stopping Tomcat: »
su $TOMCAT_OWNER -c $CATALINA_HOME/bin/shutdown.sh
}
# See how we were called.
case « $1″ in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo $ »Usage: tomcat {start|stop|restart} »
exit
esac
5) Best Pratice
- Si votre application doit-être accessible depuis le monde extérieur je vous conseille de procéder à un couplage (Apache/Tomcat) avec les règles firewall qui vont bien
- Utilisez toujours un serveur apache en front en mode revese proxy. Vos clients ne doivent pas se connecter en direct sur le Tomcat. Un tuto est disponible: http://journaldunadminlinux.fr/tutoriel-mettre-en-place-un-reverse-proxy-sur-apache-via-mod_proxy/
Bonsoir et vraiment un grand merci! votre tutoriel nous a été d’une d’une aide capitale.