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.
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.
Tutorial ISPConfig 3 〉〉 | ⇑ÍNDICE | ⇐ANT | PROX⇒ |