1 votes

Problème d'équilibrage de charge Apache & Tomcat via Mod_jk

J'espère que cela vous trouve tous en pleine forme et de bonne humeur. J'ai un problème avec une nouvelle configuration où j'ai actuellement 1 APACHE 2.2.15 & Tomcat 6.0.14 sur RHEL. Mod_JK version 1.2.30. Je vais ajouter le deuxième Tomcat quand cela fonctionnera.

Donc quand j'essaie de pointer mon navigateur vers apache-host: port je vois IT WORKS, mais si je pointe le navigateur vers host: port //examples/jsp/ j'obtiens une erreur 404....apache ne transfère pas les requêtes vers Tomcat. Tomcat fonctionne bien, je peux accéder à la page d'exemples JSP et exécuter des choses. Je ne peux simplement pas le faire via Apache. Toute aide est grandement appréciée...s'il vous plaît, aidez-moi !!!!

Voici mes configurations.... pas de virtual hosts configurés...

HTTPD.CONF 
Include conf/jk/mod_jk.conf 
LoadModule jk_module modules/mod_jk.so 

MOD_JK.CONF 
JkWorkersFile conf/jk/workers.properties 
JkShmFile logs/mod_jk.shm 
JkLogFile logs/mod_jk.log 
JkLogLevel info 
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] " 

WORKERS.PROPERTIES 
worker.list=loadbalancer,status 

# Propriétés du nœud #1 
worker.worker1.type=ajp13 
worker.worker1.host=localhost 
worker.worker1.port=8009 
worker.worker1.lbfactor=1 

# Propriétés du nœud #2 (seront configurées ultérieurement quand apache et le nœud 1 fonctionneront) 
worker.worker2.type=ajp13 
worker.worker2.host=localhost 
worker.worker2.port=001 
worker.worker2.lbfactor=1 

# Comportement de répartition de charge 
worker.loadbalancer.type=lb 
worker.loadbalancer.balance_workers=worker1,worker2 

# Travailleur de statut pour la gestion de l'équilibreur de charge 
worker.status.type=status 

#JkMount /* loadbalancer 
JkMount /examples/jsp lb 
JkMount /examples/jsp/* lb 

tomcat server.xml a ceci 

... 

...

0 votes

Où avez-vous placé la configuration JkMount ? dans workers.properties ? cela devrait être placé dans le fichier de configuration Apache (ou un fichier dans le répertoire /etc/httpd/conf.d).

1voto

quanta Points 49664

WORKERS.PROPERTIES

# Comportement de répartition de charge
worker.loadbalancer.type=lb 
worker.loadbalancer.balance_workers=worker1,worker2 

#JkMount /* loadbalancer 
JkMount /examples/jsp lb 
JkMount /examples/jsp/* lb

This is wrong. Déplacez la directive JkMount vers le fichier mod_jk.conf, quelque chose comme ceci :

JkWorkersFile conf/jk/workers.properties 
JkShmFile logs/mod_jk.shm 
JkLogFile logs/mod_jk.log 
JkLogLevel info 
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] " 

JkMount /examples/jsp loadbalancer
JkMount /examples/jsp/* loadbalancer

Remarquez que le travailleur Tomcat devrait être loadbalancer comme vous l'avez défini dans les workers.properties, au lieu de lb.

0 votes

Trouvé ça marche...

0voto

vikingz Points 11

Réparé les deux...maintenant j'ai juste une page blanche....il se plaint du deuxième worker dans les journaux mod_jk à propos de l'hôte qui est tombé mais je suppose que c'est OK puisque je n'ai pas configuré le worker 2. Il devrait router les requêtes vers le worker 1 non?

Je reçois ceci dans les journaux d'accès quand j'essaie hôte: port/examples/jsp

172.31.118.231 - - [22/Feb/2013:09:27:09 -0600] "GET /examples/jsp HTTP/1.1" 200 -
172.31.118.231 - - [22/Feb/2013:09:27:21 -0600] "GET /examples/jsp HTTP/1.1" 200 -
172.31.118.231 - - [22/Feb/2013:09:27:21 -0600] "GET /favicon.ico HTTP/1.1" 404 209
172.31.118.231 - - [22/Feb/2013:09:28:06 -0600] "GET /examples/jsp HTTP/1.1" 200 -
172.31.118.231 - - [22/Feb/2013:09:28:07 -0600] "GET /favicon.ico HTTP/1.1" 404 209

dans les journaux d'erreur

[Fri Feb 22 09:26:00 2013] [error] [client 172.31.118.231] Fichier non trouvé: /opt/fas/loader/tomproj/apache2.2.15/htdocs/examples

dans mod_jklogs

[Fri Feb 22 09:25:27 2013] [5773:47624974852416] [info] init_jk::mod_jk.c (3189): mod_jk/1.2.30 initialisé
[Fri Feb 22 09:26:45 2013] [5777:1119607104] [info] jk_open_socket::jk_connect.c (622): échec de la connexion à 127.0.0.1:1 (errno=111)
[Fri Feb 22 09:26:45 2013] [5777:1119607104] [info] ajp_connect_to_endpoint::jk_ajp_common.c (959): Échec de l'ouverture du socket à (127.0.0.1:1) (errno=111)
[Fri Feb 22 09:26:45 2013] [5777:1119607104] [error] ajp_send_request::jk_ajp_common.c (1585): (worker2) échec de la connexion au backend. Tomcat n'est probablement pas démarré ou écoute sur le mauvais port (errno=111)
[Fri Feb 22 09:26:45 2013] [5777:1119607104] [info] ajp_service::jk_ajp_common.c (2540): (worker2) envoi de la requête à tomcat échoué (récupérable), en raison d'une erreur lors de l'envoi de la requête (tentative=1)
[Fri Feb 22 09:26:45 2013] [5777:1119607104] [info] jk_open_socket::jk_connect.c (622): échec de la connexion à 127.0.0.1:1 (errno=111)
[Fri Feb 22 09:26:45 2013] [5777:1119607104] [info] ajp_connect_to_endpoint::jk_ajp_common.c (959): Échec de l'ouverture du socket à (127.0.0.1:1) (errno=111)
[Fri Feb 22 09:26:45 2013] [5777:1119607104] [error] ajp_send_request::jk_ajp_common.c (1585): (worker2) échec de la connexion au backend. Tomcat n'est probablement pas démarré ou écoute sur le mauvais port (errno=111)
[Fri Feb 22 09:26:45 2013] [5777:1119607104] [info] ajp_service::jk_ajp_common.c (2540): (worker2) envoi de la requête à tomcat échoué (récupérable), en raison d'une erreur lors de l'envoi de la requête (tentative=2)
[Fri Feb 22 09:26:45 2013] [5777:1119607104] [error] ajp_service::jk_ajp_common.c (2559): (worker2) connexion à tomcat échouée.
[Fri Feb 22 09:26:45 2013] [5777:1119607104] [info] service::jk_lb_worker.c (1388): échec du service, le worker worker2 est dans un état d'erreur

c'est le

0 votes

D'accord, j'ai réussi.... après ces 2 changements, j'ai découvert un problème de configuration du port AJP de Tomcat.... J'avais ceci.... ............................. J'ai supprimé et enlevé /service....et j'ai seulement utilisé ... Tomcat a bien fonctionné...pas d'erreurs...apache a bien fonctionné pas d'erreurs....merci Quanta & Liu Yuan!!!!

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X