Como ativar a compressão GZIP no NGiNX do servidor do meu site

Aprenda a ativar a compressão GZIP no NGINX do seu servidor para otimizar o desempenho do site, reduzindo o tamanho dos arquivos, acelerando o carregamento e economizando largura de banda, com instruções passo a passo e dicas de segurança

Como ativar a compressão GZIP no NGiNX do servidor do meu site

Introdução

Você sabia que o desempenho do seu site depende muito do tamanho dos arquivos que o navegador do usuário precisa baixar? Reduzir o tamanho desses arquivos pode tornar seu site mais rápido e econômico, especialmente para usuários com conexões limitadas. Neste tutorial, você aprenderá a configurar o Nginx para usar gzip e comprimir os arquivos que ele serve.

O que é gzip e por que você deve usá-lo?

Gzip é um programa de compressão de dados amplamente utilizado. Ao configurá-lo no Nginx, você pode:

  1. Melhorar significativamente a velocidade de carregamento do seu site
  2. Reduzir o uso de largura de banda
  3. Potencialmente melhorar o ranking do seu site em mecanismos de busca
  4. Aproveitar o suporte universal entre os principais navegadores

Configurando gzip no Nginx

Passo 1: Verifique a configuração atual

Primeiro, verifique se a compressão gzip já está habilitada para arquivos HTML:

curl -H "Accept-Encoding: gzip" -I http://seu_dominio/test.html

Passo 2: Modifique a configuração do Nginx

Abra o arquivo de configuração principal do Nginx:

sudo nano /etc/nginx/nginx.conf

Localize a seção de configurações do gzip e faça as seguintes alterações:

  1. Descomente as linhas relevantes
  2. Adicione a diretiva gzip_min_length 256;
  3. Expanda a lista de tipos de arquivo para compressão

Sua configuração final deve se parecer com isto:

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_min_length 256;
gzip_types
    application/atom+xml
    application/javascript
    application/json
    application/rss+xml
    application/vnd.ms-fontobject
    application/x-font-ttf
    application/x-web-app-manifest+json
    application/xhtml+xml
    application/xml
    font/opentype
    image/svg+xml
    image/x-icon
    text/css
    text/plain
    text/x-component;

Passo 3: Teste a configuração

Antes de reiniciar o Nginx, é crucial que você teste a nova configuração para evitar qualquer interrupção no serviço. Use o seguinte comando:

sudo nginx -t

Se você ver a mensagem "test is successful", significa que sua configuração está correta e você pode prosseguir.

Passo 4: Reinicie o Nginx

Agora que você confirmou que a configuração está correta, reinicie o Nginx:

sudo systemctl restart nginx

Passo 5: Verifique a nova configuração

Teste novamente para confirmar que a compressão está funcionando para diferentes tipos de arquivo:

curl -H "Accept-Encoding: gzip" -I http://seu_dominio/test.css

Dicas adicionais para otimização

  1. Ajuste o nível de compressão: O gzip_comp_level pode ser ajustado de 1 (menos compressão) a 9 (máxima compressão). Níveis mais altos usam mais CPU, então encontre um equilíbrio adequado para o seu servidor.

  2. Use gzip_vary on: Isso adiciona o cabeçalho "Vary: Accept-Encoding", informando aos caches que eles devem armazenar versões comprimidas e não comprimidas.

  3. Configure gzip_proxied: Se você estiver usando o Nginx como um proxy reverso, ajuste esta configuração para garantir que o conteúdo seja comprimido adequadamente.

  4. Monitore o desempenho: Use ferramentas como o Google PageSpeed Insights ou GTmetrix para medir o impacto das suas otimizações.

Conclusão

Ao configurar a compressão gzip no Nginx, você deu um passo importante para melhorar significativamente o desempenho do seu site. Isso não apenas beneficia os visitantes com largura de banda limitada, mas também melhora a experiência geral do usuário e pode impactar positivamente o ranking do seu site nos mecanismos de busca.

Lembre-se sempre de testar suas configurações antes de aplicá-las em produção. Com essas otimizações, você está no caminho certo para oferecer uma experiência web mais rápida e eficiente para seus usuários.


FAQ

Pergunta e respostas frequentes sobre o conteúdo.

Um programa de compressão de dados usado para reduzir o tamanho dos arquivos transmitidos pelo servidor web.

Melhorar a velocidade de carregamento do site e reduzir o uso de largura de banda.

Usando o comando curl com o cabeçalho "Accept-Encoding: gzip".

Geralmente em /etc/nginx/nginx.conf.

gzip on

Especifica os tipos de arquivos que serão comprimidos.

Define o tamanho mínimo do arquivo para aplicar a compressão.

Usando o comando nginx -t.

Para evitar interrupções no serviço devido a erros de configuração.

sudo systemctl restart nginx

Usando curl com o cabeçalho "Accept-Encoding: gzip" para diversos tipos de arquivo.

Adiciona o cabeçalho "Vary: Accept-Encoding" para informar aos caches sobre versões comprimidas e não comprimidas.

De 1 (menos compressão) a 9 (máxima compressão).

Níveis mais altos usam mais CPU, podendo sobrecarregar o servidor.

Sim, todos os principais navegadores modernos suportam gzip.


Giancarlo Gil Ottaviani Raduan
Me pague um café no NuBank do Giancarlo Gil Ottaviani Raduan

Especialista linux, desenvolvedor web full-stack, PHP no sangue, graduando em Direito, pai da Lais e esposo da Simone


Talvez você goste destes outros tutoriais