Cette configuration utilise le module externe Apache mod_jk afin d’équilibrer la charge au sein de la grappe JBoss avec le protocole AJP. Elle offre la prise en charge du protocole AJP (Apache JServ Protocol).
Effectuez la configuration de la façon suivante :
A partir du site Apache Tomcat Connectors, téléchargez le fichier du module externe mod_jk correspondant à votre système d’exploitation. Remarque : vérifiez que votre serveur Apache prend en charge le fichier de module externe mod_jk téléchargé.
Renommez le fichier téléchargé en lui attribuant le nom mod_jk.so et enregistrez-le dans le répertoire RACINE_APACHE/modules/.
Dans un éditeur de texte, ouvrez le fichier httpd.conf du répertoire RACINE_APACHE/conf, puis ajoutez la ligne suivante à la fin du fichier : Include conf/mod-jk.conf
Créez un fichier RACINE_APACHE/conf/mod-jk.conf avec le contenu suivant :
# 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 +ForwardURICompat -ForwardDirectories
# JkRequestLogFormat
JkRequestLogFormat "%w %V %T"
# Mount your applications
JkMount /* loadbalancer
# 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
# Add shared memory.
# This directive is present with 1.2.10 and
# later versions of mod_jk, and is needed
# for load balancing to work properly
JkShmFile logs/jk.shm
# Add jkstatus for managing run-time data
<Location /jkstatus/>
JkMount status
Order deny,allow
Deny from all
Allow from 127.0.0.1
</Location>
Créez un fichier à l’emplacement conf/workers.properties avec le contenu suivant : # 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.lbfactor=1
worker.node1.cachesize=10
# 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.lbfactor=1
worker.node2.cachesize=10
# Load-balancing behavior
worker.loadbalancer.type=lb
worker.loadbalancer.balance_workers=node1,node2
worker.loadbalancer.sticky_session=1
#worker.list=loadbalancer
# Status worker for managing load balancer
worker.status.type=status
Dans le fichier, définissez les éléments suivants : chaque nœud de la grappe (dans cet exemple, les deux nœuds nommés node1 et node2) ;
ajoutez tous les nœuds définis dans le fichier à l’entrée worker.loadbalancer.balance_workers.
Pour chacun des nœuds au sein de la grappe, ouvrez pour modification le fichier server.xml situé à l’emplacement : [racine du serveur d'applications]/server/<nom_profil>/deploy/jbossweb.sar.
Dans le fichier server.xml, recherchez l’élément Engine name et ajoutez un attribut jvmRoute. Par exemple, pour un nœud nommé node1 :<Engine name="jboss.web" defaultHost="localhost" jvmRoute="node1">
Enregistrez le fichier server.xml modifié. Remarque : la valeur de jvmRoute doit être unique pour chaque nœud de la grappe et correspondre au worker qui se connecte au serveur JBoss respectif.
|
|
|