NginX: Otimizando o Desempenho

Aprenda como otimizar o servidor web NginX para um melhor desempenho, e ainda solucione problemas comuns de gateway como 502 e 504.

Nossos tutoriais apresentam soluções de baixo custo para hospedagens de site. Por exemplo, podemos hospedar mais de um domínio no mesmo VPS de 5 dólares/mês usando WordPress como CMS em todos os sites.

Publicamos recentemente um outro tutorial mostrando como adicionar memória Swap ao sistema, o que ajuda a prevenir desligamentos de serviços essenciais por falta de RAM como por exemplo o Banco de Dados MySQL, assim o NginX poderá servir as páginas sem erros de conexão aos dados.

Mas o NginX, mesmo sendo leve e rápido, poderá ter outros problemas se houverem muitos acessos simultâneos em um servidor de baixo custo. Um problema ocasional é quando tentamos fazer uma nova publicação de artigo e, após uma longa pausa, o WordPress apresenta erros de Gateway (502 Bad Gateway or 504 Gateway Timeout), o mesmo problema pode ocorrer se estivermos fazendo a publicação e várias pessoas estarem acessando o site naquele instante.

Para solucionar isso precisamos “tunar” o servidor web.


Otimizando o NginX para desempenho:

1.Edite o arquivo /etc/php5/fpm/php.ini e altere a linha 375 desta maneira:

max_execution_time = 180

2.Edite o arquivo /etc/php5/fpm/pool.d/www.conf e altere a linha 318:

request_terminate_timeout = 180

3.Agora, antes de editarmos o arquivo nginx.conf para modificações, verifique alguns parâmetros necessários:

Digite o seguinte comando para descobrir quantos processadores o seu VPS tem:

> grep processor /proc/cpuinfo | wc -l

Em seguida digite o comando para saber o limite de quantas conexões por segundo o NginX conseguirá suportar:

ulimit -n

* Em um Droplet de $ 5 dólares/mês os valores serão 1 core e 1024 conexões.

4.Edite o arquivo /etc/nginx/nginx.conf e altere conforme mostrado abaixo:

Na linha 2 altere o valor para o número de processadores que o comando mostrou (Na última atualização está como “auto“, pode-se deixar assim):

worker_processes auto;

Na linha 4 altere para o número limite de conexões:

worker_connections 1024;

Descomente as linhas entre a linha 47 até a 55 para habilitar a compressão de arquivos pelo GZip, com esta função habilitada as páginas utilizarão até 50% menos banda ao serem requisitadas:

gzip on;
gzip_disable "msie6";
gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;

E por último, insira estas linhas dentro do bloco “http {” que começa na linha 10 (insira no final do bloco e antes do sinal de fechamento “}”, lá pela linha 70):

client_max_body_size 100M;
client_body_buffer_size 16k;
 
fastcgi_buffers 8 16k;
fastcgi_buffer_size 32k;
fastcgi_connect_timeout 180;
fastcgi_send_timeout 180;
fastcgi_read_timeout 180;

5.Reinicie os serviços PHP e NginX (se estiver seguindo o tutorial com Ubuntu lembre-se que o “sudo” é seu amigo):

> /etc/init.d/php5-fpm restart
> /etc/init.d/nginx restart

6.Complemente a otimização configurando o modo de operação do PHP-FPM para On Demand clicando aqui.

7.Altere as limitações do PHP para upload de arquivos, isso ajudará a prevenir Erro 500 em uploads de temas e permitirá enviar anexos maiores que 8Mb nos emails.


Conclusão:

Adicionando memória Swap e otimizando o NginX conseguimos um desempenho muito bom num servidor de baixo custo, e ainda prevenimos a maioria dos problemas relacionados a acessos e quedas de serviços.


 NginX: Otimizando o Desempenho
Tutorial ISPConfig 3 〉〉 ÍNDICE ANT PROX

©2014-2024 Fator Binário - Todos os direitos reservados

Fazer login com suas credenciais

Esqueceu sua senha?