Я пытаюсь настроить решение для балансировки нагрузки Apache с помощью mod_jk. Кластеризация работает, но не балансировка нагрузки.
У меня на ноутбуке работает сервер Apache httpd 2.2. У меня две гостевые операционные системы виртуальной машины VMWare. Все три окна. На машинах VMware размещен сервер Apache Tomcat, обслуживающий веб-приложение. Я настроил файл httpd.conf с mod_jk и файл свойств рабочих с информацией о работниках. Я могу получить доступ к своему веб-приложению, используя URL-адрес: http://localhost/Web-application
. Если я остановлю один сервер, приложение будет обслуживаться с другого. Однако не одновременно. Некоторые выдержки приведены ниже:
файл httpd.conf:
LoadModule jk_module modules/mod_jk.so
JkWorkersFile conf/workers.properties
JkLogFile "logs/mod_jk.log"
JkLogLevel info
JkMount /MovieBooking loadbalancer
JkMount /MovieBooking/* loadbalancer
Файл worker.properties
workers.tomcat_home=/worker1
workers.java_home=$JAVA_HOME
worker.list=loadbalancer,jkstatus,worker1,worker2
#Declare Tomcat server workers 1 through n
worker.loadbalancer.type=lb
worker.loadbalancer.balance_workers=worker1,worker2
worker.loadbalancer.sticky_session=1
worker.worker1.type=ajp13
worker.worker1.host=192.168.200.244
worker.worker1.port=8109
worker.worker1.lbfactor=1
worker.worker2.type=ajp13
worker.worker2.port=8109
worker.worker2.host=192.168.200.243
worker.worker2.lbfactor=1
worker.jkstatus.type=status
Я также установил jvmroute в файлах server.xml на этих серверах:
Server.xml
<Engine name="Catalina" defaultHost="localhost" jvmRoute="worker1">
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
если требуются дополнительные выписки, я могу их загрузить