Red Hat Training
A Red Hat training course is available for Red Hat JBoss Enterprise Application Platform
17.7.3. Installer le module jk_mod dans un serveur Apache HTTP (ZIP)
Conditions préalables
- Pour cette tâche, vous devrez utiliser Apache HTTPD installé dans un environnement pris en charge ou l'Apache HTTP installé sur JBoss Enterprise Web Server. Notez que JBoss Enterprise Web Server fait partie de la distribution JBoss EAP 6.
- Si vous devez installer un serveur Apache HTTP natif de Red Hat Enterprise Linux, utilisez les instructions qui se trouvent dans Red Hat Enterprise Linux Deployment Guide.
- Si vous devez installer un serveur HP-UX native Apache HTTP Server, utiliser les instructions qui se trouvent dans le guide HP-UX Web Server Suite Installation Guide, à l'adresse suivante https://h20392.www2.hp.com/portal/swdepot/displayInstallInfo.do?productNumber=HPUXWSATW232.
- Si vous avez besoin d'installer JBoss Enterprise Web Server, utiliser les instructions dans JBoss Enterprise Web Server Installation Guide.
- Si vous utilisez le serveur Apache HTTP, télécharger le package JBoss EAP 6 Native Components pour votre plate-forme du portail clients de Red Hat à https://access.redhat.com. Ce paquet contient à la fois les binaires
mod_jk
etmod_cluster
qui sont précompilés pour Red Hat Enterprise Linux. Si vous utilisez JBoss Enterprise Web Server, il comprend déjà le binaire pourmod_jk
. - Si vous utilisez Red Hat Enterprise Linux (RHEL) 5 et le serveur natif Apache HTTP (httpd 2.2.3), commencez par télécharger le module mod_perl pour charger le module mod_jk.
- Vous devez être connectés avec des privilèges administratifs (root).
Procédure 17.12. Installer le module mod cluster
Configurer le module mod_jk.
- Créer un nouveau fichier nommé
HTTPD_HOME/conf.d/mod-jk.conf
et y ajouter ce qui suit.Note
La directiveJkMount
indique quels URL Apache doivent aller vers le module mod_jk. Sur la base de la configuration de la directive, mod_jk transfère l'URL reçu aux conteneurs de servlet qui conviennent.Pour servir le contenu directement, et pour n'utiliser que l'équilibreur de charges pour les applications Java, le chemin URL doit être/application/*
. Pour utiliser mod_jk en tant qu'équilibreur des charges, utiliser la valeur/*
pour transférer tous les URL au mod_jk.# Load mod_jk module # Specify the filename of the mod_jk lib LoadModule jk_module modules/mod_jk.so # Where to find workers.properties JkWorkersFile conf/workers.properties # Where to put jk logs JkLogFile logs/mod_jk.log # Set the jk log level [debug/error/info] JkLogLevel info # Select the log format JkLogStampFormat "[%a %b %d %H:%M:%S %Y]" # JkOptions indicates to send SSK KEY SIZE JkOptions +ForwardKeySize -ForwardDirectories # JkRequestLogFormat JkRequestLogFormat "%w %V %T" # Mount your applications # The default setting only sends Java application data to mod_jk. # Use the commented-out line to send all URLs through mod_jk. # JkMount /* loadbalancer JkMount /application/* loadbalancer # Add shared memory. # This directive is present with 1.2.10 and # later versions of mod_jk, and is needed for # for load balancing to work properly JkShmFile logs/jk.shm # Add jkstatus for managing runtime data <Location /jkstatus/> JkMount status Order deny,allow Deny from all Allow from 127.0.0.1 </Location>
Observer les valeurs et vérifier qu'elles conviennent à votre installation. Quand vous serez satisfait, sauvegarder le fichier. Spécifier une directive JKMountFile
En plus de la directive JKMount demod-jk.conf
, vous pourrez spécifier un fichier qui contienne des modèles URL multiples à transférer au mod_jk.- Ajouter ce qui suit au fichier
HTTPD_HOME/conf/mod-jk.conf
:# You can use external file for mount points. # It will be checked for updates each 60 seconds. # The format of the file is: /url=worker # /examples/*=loadbalancer JkMountFile conf/uriworkermap.properties
- Créer un nouveau fichier intitulé
HTTPD_CONF/uriworkermap.properties
, avec une ligne pour chaque modèle URL à faire correspondre. L'exemple suivant montre des exemples de syntaxe pour ce fichier.# Simple worker configuration file /*=loadbalancer
Copier le fichier mod_jk.so dans le répertoire de modules d'httpd
Note
Cela n'est utile que si le serveur HTTP Apache n'a pas demod_jk.so
dans son répertoiremodules/
. Vous pourriez éviter cette étape si vous utilisez le serveur Apache HTTP inclus comme téléchargement de JBoss EAP 6.Extraire le paquet Native Web Server Connectors Zip. Localiser le fichiermod_jk.so
soit dans le répertoireEAP_HOME/modules/system/layers/base/native/lib/httpd/modules/
ou dans le répertoireEAP_HOME/modules/system/layers/base/native/lib64/httpd/modules/
suivant que votre système d'exploitation est de 32-bit ou de 64-bit.Copier le fichier dans le répertoireHTTPD_MODULE/
.
Configurer les noeuds de worker mod_jk.
- Créer un nouveau fichier nommé
HTTPD_CONF/workers.properties
. Utiliser l'exemple suivant comme point de départ, et modifier le fichier selon vos besoins.# Define list of workers that will be used # for mapping requests worker.list=loadbalancer,status # Define Node1 # modify the host as your host IP or DNS name. worker.node1.port=8009 worker.node1.host=node1.mydomain.com worker.node1.type=ajp13 worker.node1.ping_mode=A worker.node1.lbfactor=1 # Define Node2 # modify the host as your host IP or DNS name. worker.node2.port=8009 worker.node2.host=node2.mydomain.com worker.node2.type=ajp13 worker.node2.ping_mode=A worker.node2.lbfactor=1 # Load-balancing behavior worker.loadbalancer.type=lb worker.loadbalancer.balance_workers=node1,node2 worker.loadbalancer.sticky_session=1 # Status worker for managing load balancer worker.status.type=status
Pour obtenir une description détaillée de la syntaxe du fichierworkers.properties
, et pour obtenir des options de configuration avancées, consulter Section 17.7.5, « Référence de configuration pour les Apache Mod_jk Workers ».
Redémarrer le serveur web.
La façon de redémarrer le serveur web dépend de savoir si vous utilisez le serveur Apache HTTP de Red Hat Enterprise Linux ou le serveur HTTP inclus dans JBoss Enterprise Web Server. Choisir une des deux méthodes ci-dessous.Serveur Apache HTTPD de Red Hat Enterprise Linux
Exécuter la commande suivante :[root@host]#
service httpd restart
Serveur de JBoss Enterprise Web Server HTTP
JBoss Enterprise Web Server exécute à la fois sur Red Hat Enterprise Linux et Microsoft Windows Server. La méthode de redémarrage du serveur web est différente pour chacun.Red Hat Enterprise Linux, installé avec RPM
Dans Red Hat Enterprise Linux, JBoss Enterprise Web Server installe son serveur web en tant que service. Pour redémarrer le serveur web, lancer les deux commandes suivantes :[root@host ~]# service httpd stop [root@host ~]# service httpd start
Red Hat Enterprise Linux, installé avec Zip
Si vous avez installé le serveur HTTP Apache de JBoss Enterprise Web à partir d'une archive ZIP, utiliser la commandeapachectl
pour redémarrer le serveur web. Remplacer EWS_HOME par le répertoire où vous avez décompressé le serveur JBoss Enterprise Web Server Apache HTTP.[root@host ~]# EWS_HOME/httpd/sbin/apachectl restart
Microsoft Windows Server
Lancer les commandes suivantes dans une invite de commande avec des privilèges administratifs :C:\> net stop Apache2.2 C:\> net start Apache2.2
Solaris
Lancer les commandes suivantes dans l'invite de commandes avec des permissions admin. Remplacer EWS_HOME par le répertoire dans lequel vous avez décompressé le serveur HTTP Apache de JBoss Enterprise Web.[root@host ~] EWS_HOME/httpd/sbin/apachectl restart
Le serveur Apache HTTP est maintenant configuré pour pouvoir utiliser l'équilibreur de charges de mod_jk. Pour configurer JBoss EAP 6 pour qu'il soit au fait de mod_jk, consulter Section 17.4.6, « Configurer JBoss EAP 6 pour accepter des requêtes en provenance des serveurs web externes ».