Я новичок в apache и tomcat и пытаюсь реализовать кластеризацию с помощью mod_proxy и могу запустить несколько экземпляров tomcat, но застрял. Вот мой конфиг:
httpd.conf:
LoadModule proxy_module /usr/lib/apache2/modules/mod_proxy.so
LoadModule proxy_http_module /usr/lib/apache2/modules/mod_proxy_http.so
LoadModule proxy_module /usr/lib/apache2/modules/mod_proxy_ajp.so
LoadModule proxy_http_module /usr/lib/apache2/modules/mod_proxy_balancer.so
<Proxy balancer://testcluster stickysession=JSESSIONID>
BalancerMember ajp://localhost:8109 min=10 max=100 route=server1 loadfactor=1
BalancerMember ajp://localhost:8209 min=20 max=200 route=server2 loadfactor=1
</Proxy>
ProxyPass / balancer://testcluster/
При перезапуске apache в error.log отображается следующее:
[Fri Feb 27 16:45:44 2015] [notice] Apache/2.2.22 (Ubuntu) configured -- resuming normal operations
[Fri Feb 27 16:46:48 2015] [warn] proxy: No protocol handler was valid for the URL /. If you are using a DSO version of mod_proxy, make sure the proxy submodules are included in the configuration using LoadModule.
А также мой server.xml из двух экземпляров имеет значение jvmRoute = "server1" и jvmRoute = "server1" ....
Я знаю, что это старый вопрос, но, возможно, ответ будет полезен другим.
Имена модулей двух последних загруженных модулей неверны. mod_proxy_ajp.so
загружается как proxy_module
и mod_proxy_balancer.so
так как proxy_http_module
.
неправильно:
LoadModule proxy_module /usr/lib/apache2/modules/mod_proxy_ajp.so
LoadModule proxy_http_module /usr/lib/apache2/modules/mod_proxy_balancer.so
право:
LoadModule proxy_ajp_module /usr/lib/apache2/modules/mod_proxy_ajp.so
LoadModule proxy_balancer_module /usr/lib/apache2/modules/mod_proxy_balancer.so
Не уверен, какую ОС вы используете, но обычно делают следующее:
a2enmod proxy
a2enmod proxy_http
.a2enmod proxy_ajp
).http.conf
но это не самый гибкий способ).Это то, что вы скопировали из своего вопроса:
<Proxy balancer://testcluster stickysession=JSESSIONID>
BalancerMember ajp://localhost:8109 min=10 max=100 route=server1 loadfactor=1
BalancerMember ajp://localhost:8209 min=20 max=200 route=server2 loadfactor=1
<Proxy>
ProxyPass / balancer://testcluster/
Вот как я это делаю (не сильно отличается):
<Proxy balancer://testcluster >
BalancerMember ajp://localhost:8109 min=10 max=100 route=server1 loadfactor=1
BalancerMember ajp://localhost:8209 min=20 max=200 route=server2 loadfactor=1
<Proxy>
ProxyPass / balancer://testcluster/ stickysession=JSESSIONID