2016-08-08 5 views
0

나는 Mod_jk가 성공하지 못하게하기 위해 모든 노력을 다했다. 나는 여러 아파치 다운로드를 시도했다. 특수 문자를 검사하는 것을 포함해서 찾을 수있는 모든 추천을 시도했다 ... 아파치와 Tomcat 모두 예상대로 작동하지만 여전히로드 밸런싱이 없다. 어떤 생각?Mod_Jk로드 밸런싱

[1640:3636] [info] init_jk::mod_jk.c (3383): mod_jk/1.2.40 initialized 
[1640:3636] [error] extension_fix::jk_uri_worker_map.c (578): Could not find worker with name 'LoadBalancer' in uri map post processing. 
[1640:3636] [error] extension_fix::jk_uri_worker_map.c (578): Could not find worker with name 'jk-status' in uri map post processing. 

Windows 32 비트 용으로 Apache 2.4.23 및 Mod_Jk 1.2.4를 사용하고 있습니다. HTTPD.CONF에

:

Listen 10.x.x.x:80 
LoadModule jk_module modules/mod_jk.so 
<IfModule jk_module> 
     JkWorkersFile conf/workers.properties 

     JkShmFile logs/mod_jk.shm 
     JkLogFile logs/mod_jk.log 
     JkLogLevel info 

     JkWatchdogInterval 60 

     <Location /jk-status> 
      JkMount jk-status 
      Order deny,allow 
      Deny from all 
      Allow from 10.4.81.62 
     </Location> 

     <Location /jk-manager> 
      JkMount jk-manager 
      Order deny,allow 
      Deny from all 
      Allow from 10.4.81.62 
     </Location> 


     # Configure applications 
     JkMount /Geoserver/* LoadBalancer 

</IfModule> 

workers.properties에서 다음에

<Engine name="Catalina" defaultHost="10.x.x.x" jvmRoute="worker1">  
    <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/> 

톰캣 -2-의 server.xml : 톰캣 -1- server.xml의

workers.list=jk-status 
worker.jk-status.type=status 

worker.list=jk-manager 
worker.jk-manager.type=status 

workers.list=LoadBalancer 
worker.LoadBalancer.type=lb 
worker.balancer.error_escalation_time=0 
worker.balancer.max_reply_timeouts=10 

worker.worker1.type=ajp13 
worker.worker1.host=10.x.x.x 
worker.worker1.port=8009 
worker.worker1.lbfactor=1 
worker.worker1.activation=A 
worker.worker1.socket_connect_timeout=5000 
worker.worker1.socket_keepalive=true 

worker.worker2.type=ajp13 
worker.worker2.host=10.x.x.x 
worker.worker2.port=8010 
worker.worker2.lbfactor=1 
worker.worker2.activation=A 
worker.worker2.socket_connect_timeout=5000 
worker.worker2.socket_keepalive=true 

worker.LoadBalancer.balance_workers=worker1,worker2 

:

<Engine name="Catalina" defaultHost="10.x.x.x" jvmRoute="worker2">  
    <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/> 

답변

0

당신은 당신의 workers.properties 파일에서 한 글자의 오류를 가지고 :

workers.list=LoadBalancer 

가 있어야한다 :

worker.list=LoadBalancer 

당신은 jk-status 노동자와 같은 문제가 있습니다.

(죄송합니다.이 이상으로 자신을 죽였습니다.)

+0

남자, 당신이 최고입니다. 우리가 인간이라는 또 다른 증거. 잘 했어. – JoeThomas

+0

사실 바보 같은 실수를 피하기 위해 누군가가 사용할 수있는 디버거가 있습니까? – JoeThomas

+0

당신은'mod_jk'에 대한 추적 수준 로깅을 활성화 할 수 있지만, 그것이 수행하고있는 일만 알려주며 수행하지 않는 것은 아닙니다. 'LoadBalancer'라는 이름의 작업자를 찾을 수 없습니다라는 오류 메시지가 문제의 핵심이었습니다. 작업자가지도에없는 경우로드되지 않았거나 'JkWorkersFile'이 설정 파일의 올바른 위치에 있지 않기 때문입니다. –