Neste post será apresentado como configurar o Proxy Balancer, onde criamos um Proxy de balanceamento com o Apache.
1)Ambiente :
192.168.1.100 – Apache
192.168.1.201 – App1
192.168.1.202 – App2
2) Instalação do Apache :
yum install httpd
Caso seja uma versão do Apache tenha certeza que foi compilado com a opção “–enable-proxy-balancer”
Segue abaixo de um link de tutorial como configurar o Apache compilado .
http://fajlinux.com.br/linux/compilando-e-configurando-o-apache-2-4/
3) Habilite os módulos do Apache :
Verifique se no httpd.conf está habilitado os seguintes módulos :
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
4) Configuração do VHOST :
Configuração de um simples balancer :
<VirtualHost *:80> ServerName www.yourcompany.com ServerAlias yourcompany.com DocumentRoot /Library/WebServer/Documents ProxyRequests Off <Proxy *> Order deny,allow Allow from all </Proxy> <Proxy balancer://clusterApp> BalancerMember http://app1 BalancerMember http://app2 Order allow,deny Allow from all </Proxy> ProxyPass / balancer://clusterApp/ </VirtualHost>
Caso seja uma aplicação JAVA que precise tratar sessões , podemos usar o seguinte exemplo :
ProxyPass /balancer-manager ! ProxyPass / balancer://clusterApp/ stickysession=JSESSIONID nofailover=On ProxyPassReverse / ajp://app1:8009 ProxyPassReverse / ajp://app2:8009 <Proxy balancer://mycluster> BalancerMember ajp://app1:8009 route=public1 BalancerMember ajp://app2:8009 route=public2 ProxySet lbmethod=byrequests </Proxy>
Se precisar tirar dúvidas sobre qual lbmethod usar, o link abaixo explica bem como definir caso precise :
http://httpd.apache.org/docs/2.2/mod/mod_proxy_balancer.html