Subindo proxy transparente e balanceamento de carga com Nginx

Hoje vamos montar uma estrutura de proxy transparente e balanceamento de carga com o nginx…

1ª Passo

– Instalar o nginx…

#apt-get install nginx

ou

#aptitude install nginx

2ª Passo

– Entre no diretório do nginx

#cd /etc/nginx

– Dentro do diretório do nginx, possuem dois diretórios aonde são classificados como ambiente de teste e de produção…   Entrando será nesses ambientes aonde você ira colocar as suas configurações tanto de balanceamento de carga quanto de proxy transparente

#cd sites-avaliable

#vim nomedoarquivo

– Exemplo de proxy transparente de apenas 1 servidor para a porta 80:

———————————————————————————————————–

server {

listen 80;

server_name www.seudominio.com.br;

location / {

proxy_pass http://ipdaaplicação:porta;

proxy_set_header        X-Real-IP $remote_addr;

proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_set_header        Host $http_host;

}

}

————————————————————————————————————–

Salve o arquivo e saia do mesmo.

3ª Passo

– Entre no diretório do nginx que e conhecido como o de produção.

#cd /etc/nginx/sites-enabled

– Crie um link Simbólico do arquivo criado no diretório sites-avaliable

#ln –s /etc/nginx/sites-avaliable/nomedoarquivo

– Restart do nginx

#/etc/init.d/nginx restart

– Pronto… Digite em seu navegador o domínio colocado no nomedoarquivo na referente linha (server name)

4ª passo

– Para fazer o balanceamento de carga, altere os seguintes campos:

#vim /etc/nginx/sites-avaliable/nomedoarquivo

————————————————————————————————

server {

listen 80;

server_name www.seudominio.com.br;

location / {

proxy_pass http://nomedereferenciadehost;

proxy_set_header        X-Real-IP $remote_addr;

proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_set_header        Host $http_host;

}

}

————————————————————————————————

– Salve e saia do mesmo…

– Agora entre no conf do nginx

#vim /etc/nginx/nginx.conf

– Na linha http, adicione os seguintes itens listados:

————————————————————————————————

http {

include       /etc/nginx/mime.types;

default_type  application/octet-stream;

access_log  /var/log/nginx/access.log;

sendfile        on;

#tcp_nopush     on;

#keepalive_timeout  0;

keepalive_timeout  65;

tcp_nodelay        on;

gzip  on;

upstream nomedereferenciadehost {

#server Ipdaaplicação:porta;

server 127.0.0.1:8080 weight=3;

server 127.0.0.1:8081;

}

————————————————————————————————

– O item “weigth=3” quer dizer que o nginx tem que jogar 3 vezes mais requisições para o servidor citado que os demais servidores

#/etc/init.d/nginx restart

– Pronto, o nginx já esta balanceando carga nos servidores citados e fazendo proxy transparente.

– Para olhar os log’s, entre no caminho citado no nginx.conf

Acesso:

#tail –f /var/log/nginx/access.log

Erros:

#tail -f /var/log/nginx/error.log

– Essa ferramenta possuem muitas outras funções disponível no link: http://wiki.nginx.org/NginxConfiguration

Boa diversão!!!



Anúncios

~ por renancariello em abril 1, 2010.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

 
%d blogueiros gostam disto: