나는 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"로 설정되었습니다....
답변1
나는 이것이 오래된 질문이라는 것을 알고 있지만 아마도 대답이 다른 사람들에게 도움이 될 것입니다.
마지막으로 로드된 두 모듈의 모듈 이름이 잘못되었습니다. 은(는) 및 로 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
답변2
어떤 OS를 사용하고 있는지는 확실하지 않지만 다음을 수행하는 것이 일반적입니다.
- 모듈을 활성화합니다:
a2enmod proxy
a2enmod proxy_http
. - 귀하의 경우 AJP를 사용하고 싶기 때문에 아마도 한두 가지(예
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