Se você estiver com um problema na hora de subir o apache que da este tipo de erro "No space left on device: Cannot create SSLMutex" faça o seguinte
Liste todos os processos que não morreram.
ipcs -s | grep apache
Depois delete todos
ipcs -s | grep apache | awk ' { print $2 } ' | xargs ipcrm sem
Faça um restart no seu apache .....
Caso de algum problema entre em contato que tento auxiliar de alguma forma.
Pesquisar
Mostrando postagens com marcador apache2. Mostrar todas as postagens
Mostrando postagens com marcador apache2. Mostrar todas as postagens
sexta-feira, 13 de julho de 2012
domingo, 22 de janeiro de 2012
Nginx configurado como LoadBalance
Estive estudando sobre o nginx uma importante ferramenta em qualquer empresa.
Como o Nginx tem inumeras utilidades, não somente com como front do apache, vou mostrar neste artigo apenas como fazer um loadbalance para conexões com o Apache.
A idéia é ter um proxy para evitar uma carga muito grande no apache. Podemos fazer o mesmo com aplicações java, utilizando o mesmo princípio.
Vou demonstrar aqui uma configuração muito simples usando CentOS com Nginx na frente do Apache.
Configurações do LAB que eu estou usando:
Mão na massa:
Supondo que você já tenha o CentOS 6.2 instalado na sua maquina, vamos baixar os devidos pacotes.
wget -c http://download.fedora.redhat.com/pub/epel/6/x86_64/epel-release-6-5.noarch.rpm
rpm -Uvh epel-release-6-5.noarch.rpm
A chave server é o vhost que aceitará o site www.batatinha.com.br e fará o proxy para a aplicação.
A Maneira como está configurado 50% das requisições irão para a fogao1 e 50% irão para a fogao2, caso seja necessário manter a conexão da sessão(utilizado por diversas aplicações que necessitem de login, etc.) coloque a linha ip_hash na chave upstream acima das linhas de server.
OBS: para que o servidor reconheça os nomes fogao1, fogao2 e o site eu adicionei seus ips no hosts das maquinas, caso não queiram colocar no hosts podem colocar os ips dos servidores que também funciona :D
Feito tudo isso faça o restart do nginx e vamos testar.
Para fazer o teste eu coloquei um HTML basico em cada uma das fogao.
Segue exemplo
Dentro do document root do apache da fogao1
<html>
<body>
<h1> FOGAO1 </h1>
</body>
</html>
Dentro do document root do apache da fogao2
<html>
<body>
<h1> FOGAO2 </h1>
</body>
</html>
Faça o Teste acesse www.batatinha.com.br, para que o teste funcione abra em 2 computadores diferentes.
Pronto load balance criado :D
Espero ter ajudado bastante com o Artigo. Por favor comentem e compartilhem o conhecimento!
Como o Nginx tem inumeras utilidades, não somente com como front do apache, vou mostrar neste artigo apenas como fazer um loadbalance para conexões com o Apache.
A idéia é ter um proxy para evitar uma carga muito grande no apache. Podemos fazer o mesmo com aplicações java, utilizando o mesmo princípio.
Vou demonstrar aqui uma configuração muito simples usando CentOS com Nginx na frente do Apache.
Configurações do LAB que eu estou usando:
- 1 maquina com Windows 7 como cliente.
- 1 maquina com CentOS 6.2 (Servidor do Nginx);
- hostname abaco1;
- ip 192.168.0.24;
- 2 maquinas com Ubuntu 11.04 + apache2;
- hostname fogao1 e fogao2;
- ip fogao1: 192.168.0.90;
- ip fogao2: 192.168.0.91;
Mão na massa:
Supondo que você já tenha o CentOS 6.2 instalado na sua maquina, vamos baixar os devidos pacotes.
- Primeiro vamos baixar o Repositório EPEL e instalar o repositório.
wget -c http://download.fedora.redhat.com/pub/epel/6/x86_64/epel-release-6-5.noarch.rpm
rpm -Uvh epel-release-6-5.noarch.rpm
- Agora vamos atualizar os repositórios e os pacotes:
yum check-update
yum update
- Feito isso vamos instalar o nginx e configura-lo;
yum install nginx -y (o yum vai instalar os pacotes do nginx e suas dependencias);
touch /etc/nginx/conf.d/site.conf
vim /etc/nginx/conf.d/site.conf
Veja a conf abaixo:
A linha upstream serve para criar o pool de maquinas que receberão as conexões.
vim /etc/nginx/conf.d/site.conf
Veja a conf abaixo:
A linha upstream serve para criar o pool de maquinas que receberão as conexões.
upstream batatinha {
server fogao1;
server fogao2;
}
server {
server_name www.batatinha.com.br;
location / {
proxy_pass http://batatinha;
}
}
A chave server é o vhost que aceitará o site www.batatinha.com.br e fará o proxy para a aplicação.
A Maneira como está configurado 50% das requisições irão para a fogao1 e 50% irão para a fogao2, caso seja necessário manter a conexão da sessão(utilizado por diversas aplicações que necessitem de login, etc.) coloque a linha ip_hash na chave upstream acima das linhas de server.
OBS: para que o servidor reconheça os nomes fogao1, fogao2 e o site eu adicionei seus ips no hosts das maquinas, caso não queiram colocar no hosts podem colocar os ips dos servidores que também funciona :D
Feito tudo isso faça o restart do nginx e vamos testar.
Para fazer o teste eu coloquei um HTML basico em cada uma das fogao.
Segue exemplo
Dentro do document root do apache da fogao1
<html>
<body>
<h1> FOGAO1 </h1>
</body>
</html>
Dentro do document root do apache da fogao2
<html>
<body>
<h1> FOGAO2 </h1>
</body>
</html>
Faça o Teste acesse www.batatinha.com.br, para que o teste funcione abra em 2 computadores diferentes.
Pronto load balance criado :D
Espero ter ajudado bastante com o Artigo. Por favor comentem e compartilhem o conhecimento!
Marcadores:
apache2,
centos 6,
linux,
load balance,
load balance java.,
loadbalance,
nginx,
optimizador web,
web
Assinar:
Postagens (Atom)