8. Lien entre les serveurs Web et d'application Java
Pour faire le lien entre le serveur web (
apache ) et le serveur applicative java (
tomcat ), il est nécessaire d'utiliser un
module apache: JK2. Il s'agit d'une bibliothèque C qui se trouve
dans le fichier mod_jk.so.
Il est nécessaire de configurer apache
pour qu'il prenne en compte le module en spécifiant quelques
propriétés ( application web impactée, format des logs, fichier de logs
et fichiers de configuration du "worker" ).
Tout cela est à définir dans le fichier httpd.conf d'apache où
se trouve toute la configuration du serveur. Il suffit de rajouter les
lignes suivantes à la ligne de la partie définissant les modules à
charger ( LoadModule... ):
LoadModule jk_module /usr/lib/apache/1.3/mod_jk.so
AddModule mod_jk.c
JkWorkersFile /applis/jakarta-tomcat-4.1.18/conf/workers2.properties
JkLogFile /applis/jakarta-tomcat-4.1.18/logs/mod_jk.log
JkLogLevel info
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
#JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
#JkRequestLogFormat "%w %V %T"
JkMount /jgenea/* worker1 |
Note
Il est à noter que les chemins peuvent être changés mais doivent
correspondre aux chemins où se trouvent les différents éléments.
Attention
La dernière ligne ne peut être modifié car il ne s'agit pas
d'un chemin.
Le fichier worker2.properties spécifié, permet de définir plus
finement la communication entre les deux serveurs ( ports... ) pour le
"worker" spécifié précédemment. Voici le code de ce fichier dans
notre configuration:
# Define the communication channel
worker.list=worker1
# Set properties for worker1 (ajp13)
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009
worker.worker1.lbfactor=50
worker.worker1.cachesize=10
worker.worker1.cache_timeout=600
worker.worker1.socket_keepalive=1
worker.worker1.socket_timeout=300 |