Bonjour,
D'abord désolé mais j'ai déjà posté ce message sous "Tomcat" et je me suis rendu compte que ce n'était pas forcément le bon endroit. Je n'ai pas trouvé comment supprimer la discussion mais je la poste ici de nouveau.
Je reprends tout à zéro parce que je n'étais pas forcément très clair...
• Je dispose d’une application web JBoss (4.2) MyApp dont une des pages JSP permet d’afficher des images TIF avec le plugin Alternatiff (http://www.alternatiff.com) via l'URL des images.
• Mon environnement est constitué de deux machines Linux : machine1, machine2
o Sur machine1 :
- Serveur Apache + mod_jk utilisant une paire de « balanced workers » pour accéder à deux instances de MyApp
- JBoss contenant la première instance de MyApp (connecté à apache via workers)
o Sur machine2 :
- JBoss contenant la seconde instance de MyApp (connecté à apache via workers)
• Sur chaque machine, MyApp est installée dans « /work/MyApp ».
• Les fichiers de configuration Apache & workers :
MyApp.vhost:
MyApp.workers.properties:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 # vhost for MyApp Listen MyApp-t.internal:80 # Include the workers.properties file Include workers.properties.d/MyApp.workers.properties <VirtualHost MyApp-t.internal:80> ServerName MyApp ServerAlias MyApp* DocumentRoot /work/MyApp/htdoc ErrorLog "|/usr/sbin/rotatelogs2 /log/MyApp/http/error_log_MyApp 86400" CustomLog "|/usr/sbin/rotatelogs2 /log/MyApp/http/access_log_MyApp 86400" extended-combined JkAutoAlias /work/MyApp # URI's mapped to tomcat workers JkMount / MyApp_loadbalancer JkMount /* MyApp_loadbalancer JkUnMount /*.TIF* MyApp_loadbalancer </VirtualHost>
• Les workers fonctionnent bien pour Tomcat/JBoss.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 # Define the list of workers that will be used for mapping requests JkWorkerProperty worker.list=MyApp_loadbalancer # Define MyApp_0 # Modify the host per your host IP or DNS name. JkWorkerProperty worker.MyApp_0.port=8009 JkWorkerProperty worker.MyApp_0.host=machine1 JkWorkerProperty worker.MyApp_0.type=ajp13 JkWorkerProperty worker.MyApp_0.lbfactor=1 JkWorkerProperty worker.MyApp_0.cachesize=10 JkWorkerProperty worker.MyApp_0.connect_timeout=2000 JkWorkerProperty worker.MyApp_0.prepost_timeout=2000 JkWorkerProperty worker.MyApp_0.reply_timeout=45000 JkWorkerProperty worker.MyApp_0.secret=aBcDeFgHe # Define MyApp_1 # Modify the host per your host IP or DNS name. JkWorkerProperty worker.MyApp_1.port=8009 JkWorkerProperty worker.MyApp_1.host=machine2 JkWorkerProperty worker.MyApp_1.type=ajp13 JkWorkerProperty worker.MyApp_1.lbfactor=1 JkWorkerProperty worker.MyApp_1.cachesize=10 JkWorkerProperty worker.MyApp_1.connect_timeout=2000 JkWorkerProperty worker.MyApp_1.prepost_timeout=2000 JkWorkerProperty worker.MyApp_1.reply_timeout=45000 JkWorkerProperty worker.MyApp_1.secret=aBcDeFgHe # Define load balancing behaviour with the loadbalancer worker. # It manages the workers that are mentioned in balance_workers directive # Note that workers are mentioned in balanced_workers MUST NOT be mentioned in # worker.list directive JkWorkerProperty worker.MyApp_loadbalancer.type=lb JkWorkerProperty worker.MyApp_loadbalancer.balanced_workers=MyApp_0,MyApp_1
• Lorsqu’une session de MyApp tourne sur machine1 :
L’URL « MyApp-t.internal/data/image.TIF » correspondant à une image générée en session dans « /work/MyApp/data/image.TIF » est bien valide puisque le VHOST y est bien défini.
• Lorsqu’une session de MyApp tourne sur machine2 :
L’URL « MyApp-t.internal/data/image.TIF » théoriquement correspondant à une image générée en session dans « /work/MyApp/data/image.TIF » est invalide puisque le VHOST est uniquement défini sur machine1. => Soit il n’y a pas d’image sur machine1 et on a un beau message « not found », soit il y une image mais ce n’est pas celle qu’on attendait puisqu’on n’est pas sur la bonne machine…
Question : Comment servir ce contenu statique dans mes répertoires d’installation de MyApp sur machine1 ou sur machine2 de façon transparente pour que l’URL « MyApp-t.internal/data/image.TIF » pointe sur le répertoire « /work/MyApp/data/image.TIF » sur la machine d’où la session est en train de tourner ? Comment servir ce contenu via les workers ?
Merci d'avance pour tout coup de main!
David
PS. Je découvre +/- aussi
Partager