Maîtrisez l’intégration du serveur web Apache HTTP et du serveur d’Application Jboss. Comprenez la valeur ajoutée de ce duo. Configurez mod_jk via les fichier mod_jk.properties et workers.properties. Comprenez la notion de workers et pondérez l’utilisation de chaque serveur.
Prérequis
Installation Kit de développement JDK 6
Tutoriel jboss N°1 : installation Jboss 5
Objectifs
Comprendre la valeur ajoutée du couplage Apache / Jboss
Installation mod_jk
Mise en eouvre load balancing.
Durée
40 min
Programme
Comprendre la valeur ajoutée du couplage Apache / Jboss
Partie 1 : Téléchargement et installation Apache
Partie 2 : Téléchargement et Installation mod_jk
Partie 3 : Configuration de mod_jk
Partie 4 : Test
Contexte
Le serveur Apache HTTP est le ‘champion du monde’ de la gestion de ressources statiques : pages html, images, feuille css
Le serveur Jboss (à travers sont conteneur de servlet Jboss Web, qui est en réalité Tomcat) permet de gérer des ressources Java dynamiques : servlets, jsp
Il peut être utile, à des fins de performance, de remplacer le serveur statique par défaut de Jboss Web (Coyotte) par le serveur Http Apache.
De plus nous ne souhaitons ne pas avoir à ajouter le port 8080 pour accéder à nos applications dynamiques, comme l’application hellostruts.war
Le module Apache mod_jk permet de faire cette intégration.
Ce que nous allons faire
L’idéal est de permettre que pour toute requête entrante :
les ressources statiques soient gérées par Apache HTTP
les ressources dynamiques soient gérés par Jboss Web
10 étapes clés
1. Télécharger Apache 2
2. Télécharger mod_jk (version > 1.2.28)
3. Changer la configuration Apache pour include la config. modjk
4. Créer la configuration modjk
5. Configurer les workers mod_jk (que les noeuds JBoss utilisent)
6. Configurer que les URIs gérés par Jboss via mod_jk
7. Redémarrer Apache
8. Configurer Tomcat (donner à chaque instance JBoss une jvmRoute pour l’affinité de session)
9. Redémarrer JBoss
10. Tester
Partie 1 : téléchargement Apache
Téléchargez la version Apache 2.2
Installez Apache
Une petite icone vous permet de monitorer Apache.
Notez que Apache est démarré. suite à l’installation. Vous pouvez le vérifier à travers http://localhost.
Le programme ‘httpd.exe’ permettant de lancer Apache est présent dans le répertoire bin de l’installation.
Identifiez dès maintenant le répertoire modules , dans lequel nous déposerons le module mod_jk.
QUESTION : quel est le répertoire de configuration d’Apache ? quel est le fichier de configuration central ?
QUESTION : quel est le port d’écoute par défaut ? comment le modifier ?
Téléchargement mod_jk
Pour windows, identifiez le fichier .so pour Apache
Téléchargez le
Renommez le fichier en mod_jk et copiez le dans le répertoire ‘modules’
d’Apache.
Dans le répertoire ‘conf’ de Apache, créer fichier worker.properties avec 1 cible (noued1)
QUESTION : qu’est ce que ‘noeud1’ ?
Expliquez cette configuration en utilisant la documentation Tomcat worker
Créez un fichier mod_jk.log vide . Il accueillera les logs du module mod_jk
Modifier le fichier conf/httpd.conf d’Apache :
— Ajoutez une ligne pour chargement du module mod_jk
— Ajouter à la fin du fichier les lignes suivantes associée à mod_jk
Expliquez ce qu’implique la ligne surlignée
De façon plus générale, et en utilisant la documentation de Mod_jk , expliquez les différentes options de configuration.
INFO : on pourrait aussi mettre ces infos dans fichier mod_jk.properties et faire une inclusion (Ajout ligne ‘Include conf/mod_jk.conf’) dans fichier httpd.conf
La configuration de mod_jk est terminée
Configuration Jboss
Vérifiez coté Jboss dans le fichier serveur.xml du service Jboss Web que le connecteur AJP est disponible (non commenté)
Ajoutez l’option ‘jvmRoute’ au moteur Catalina :
Partie 4 : test
Démarrez Jboss
Déployez dans Jboss l’application ‘hellostruts.war’
Arrétez puis démarrez Apache
Analysez les logs de mod_jk pour valider que le module est bien chargé et prêt.
Que donnent les Urls suivantes :
— > http://localhost
— > http://localhost:8080
— > http://localhost:8080/hellostruts
— > http://localhost/hellostruts/
Expliquez.
Conclusion
Dans ce tutoriel vous avez intégré Apache et Jboss à travers le module mod_jk. Vous avez donc réussi 50% de votre stratégie de clustering. Pour assurer une réelle haute disponibilité , il vous reste à mettre en oeuvre la gestion de la reprise sur incident (fail over).