Você está na página 1de 4

Certifique-se de que o Ubuntu esteja atualizado e, em seguida,

instale o Apache:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install apache2 -y
Instale alguns módulos do Apache:
sudo a2enmod proxy proxy_http proxy_balancer
Verifique qual versão do Apache foi instalada:
apache2 -v
Server version: Apache/2.4.7 (Ubuntu)
Server built: Jul 22 2014 14:36:38
Esta etapa não é necessária com o Apache 2.2, mas com o Apache
2.4, menos módulos são habilitados por padrão, então você
também precisará habilitar estes módulos:
sudo a2enmod lbmethod_byrequests slotmem_shm

Configurando um host virtual


O arquivo do host virtual usado para configurar o Apache deve
conter diretivas que digam ao Apache quantos servidores existem
no cluster de nós do trabalhador e qual tráfego deve ser
encaminhado para esses nós. Eu vou usar o arquivo de host virtual
padrão, 000-default.conf, para armazenar essas diretivas. (Observe
que, se você estiver trabalhando com o Apache 2.2, o arquivo host
virtual padrão será chamado de default.conf.) Use esse comando
para abrir o arquivo no gedit:
sudo gedit /etc/apache2/sites-available/000-default.conf
Suponha que o proxy reverso precise encaminhar o tráfego de um
site chamado example.com para um cluster de servidores. A
diretiva ServerName é usada para fazer com que esse host virtual
manipule o tráfego de qualquer solicitação com example.com no
nome do host. A diretiva ServerAlias é configurada para garantir
que esse host virtual também manipule o tráfego para subdomínios
de example.com.
ServerName example.com
ServerAlias *.example.com
É melhor desativar as solicitações de proxy por motivos de
segurança. Caso contrário, as pessoas poderiam usar seu servidor
como proxy para se esconderem enquanto se envolvem em
atividades ilegais. Também é uma boa ideia certificar-se de que o
nome do host seja preservado quando o proxy reverso encaminhar
solicitações HTTP. Você pode conseguir essas coisas adicionando as
duas linhas a seguir ao host virtual:
ProxyRequests Of
ProxyPreserveHost On
Neste exemplo, presumirei que há dois servidores no cluster com
sites idênticos em cada um deles e com endereços IP 192.168.1.13
e 192.168.1.14. O arquivo do host virtual deve conter uma definição
do cluster que manipulará o tráfego deste site:
<Proxy balancer://my_cluster>
BalancerMember http://192.168.1.13:80
BalancerMember http://192.168.1.14:80

AllowOverride None
Order allow,deny
allow from all

ProxySet lbmethod=byrequests
</Proxy>
Isso define um cluster chamado my_cluster com dois nós de
trabalho. A diretiva ProxySet é usada para informar ao balanceador
de carga para distribuir solicitações de maneira round-
robin. Solicitações também podem ser ditrbuted com base na
quantidade de tráfego que cada servidor de back-end enviou:
ProxySet lbmethod=bytraffic
ou pelo número de solicitações pendentes em cada servidor de
backend:
ProxySet lbmethod=bybusyness
A diretiva ProxyPass é usada para enviar tráfego correspondente a
uma URL específica para o cluster. Nesse caso, todo o tráfego
precisa ser encaminhado para my_cluster:
ProxyPass / balancer://my_cluster/
O arquivo completo do host virtual deve ser algo como isto:
<VirtualHost *:80>
ServerName example.com
ServerAlias *.example.com

ProxyRequests Of
ProxyPreserveHost On

<Proxy balancer://my_cluster>
BalancerMember http://192.168.1.13:80
BalancerMember http://192.168.1.14:80

AllowOverride None
Order allow,deny
allow from all

ProxySet lbmethod=byrequests
</Proxy>

ProxyPass / balancer://my_cluster/

ErrorLog ${APACHE_LOG_DIR}/error.log

# Possible values include: debug, info, notice, warn, error, crit,


# alert, emerg.
LogLevel warn

CustomLog ${APACHE_LOG_DIR}/access.log combined


</VirtualHost>
Salve o arquivo e reinicie o Apache:
sudo service apache2 restart

Você também pode gostar