Este tutorial o orienta sobre como otimizar o desempenho do seu site e torná -lo rápido, reduzindo os tamanhos dos arquivos usando a compactação GZIP no Nginx.

Como ativar a compressão GZIP em nginx

Este artigo está em continuação de nossa série de tutoriais sobre o NGINX. Até agora, abordamos como usar o NGINX como balanceador de carga, como usar o NGINX como proxy reverso. E agora este tutorial abrange outra pergunta exigente “Como otimizar seu site usando a compactação GZIP no Nginx”. Neste tutorial, o guiaremos passo a passo sobre como ativar a compactação GZIP no Nginx. Então vamos começar!

Otimização do site com compactação

O desempenho de um site depende de vários fatores. Um dos fatores depende parcialmente é o tamanho de todos os arquivos que o navegador de um usuário deve baixar do seu servidor. Reduzir ou comprimir o tamanho desses arquivos transmitidos pode tornar seu site carregar mais rápido para o usuário. Também pode reduzir a conta do seu site, caso você pague pelo uso da largura de banda em conexões medidas. Portanto, a compactação pode desempenhar um papel muito vital na otimização do seu site. Como o Google e outros mecanismos de pesquisa estão considerando a experiência do usuário de um site (UX) um fator crítico em seus algoritmos de classificação. Tornou -se mais importante melhorar e otimizar seu site para as melhores classificações. Entre os fatores mais importantes a serem prestados, estão a velocidade da página e os tempos de carregamento. E a maneira mais rápida e fácil de melhorar a velocidade e o desempenho do seu site é ativar a compactação GZIP em seu site.

O que é compactação gzip?

GZIP é um formato de arquivo e aplicativo de software usado para compactação e descompressão de arquivos. Servidores da Web ou outro software Use a compactação GZIP para comprimir arquivos de dados antes de serem enviados aos navegadores dos usuários. Isso reduz o tempo de download do arquivo, o que torna seu site mais rápido. Todos os navegadores modernos suportam a compressão GZIP. Também é importante observar que a compactação GZIP deve estar ativada no seu servidor da web antes que você possa ativar a compactação de arquivos e pasta. Logo, veremos como ativar a compactação GZIP no Nginx.

Como funciona a compactação do GZIP?

O GZIP, o método de compactação mais popular, é usado por servidores e navegadores da Web para compactar e descomprimir o conteúdo, conforme transmitido pela Internet. É usado principalmente em arquivos de código e texto, o GZIP pode reduzir o tamanho de arquivos JavaScript, CSS e HTML em até 90%. Por padrão, a compactação GZIP não comprime imagens ou vídeos. É por isso que a maioria das ferramentas de teste de velocidade do site, como o Google PageSpeed ​​Insights, recomendo permitir a compactação GZIP. Quando um servidor da Web recebe uma solicitação de uma página da web, o servidor da web verifica o cabeçalho da solicitação para verificar se o navegador suporta o GZIP. Nesse caso, o servidor gera a marcação para a página antes de aplicar o GZIP. O GZIP converte a marcação HTML em dados compactados que são entregues ao usuário final. Quando o usuário final recebe os dados compactados, seu navegador os descomprima.

Ativar compressão GZIP em Nginx

Para alterar a configuração do Nginx GZIP, abra o principal arquivo de configuração do NGINX em “VI” ou seu editor de texto favorito:

sudo vi /etc/nginx/nginx.conf

Encontre a seção de configurações gzip, que se parece com a seguinte:

. . .
##
# `gzip` Settings
#
#
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;
. . .

Como você pode ver, o GZIP é ativado por padrão com _gzip ON; _, mas há outras configurações de GZIP comentadas. Podemos ativar a configuração GZIP_TYPES para ativar a compactação nos tipos de arquivo que queremos compactar. Por exemplo

. . .
##
# `gzip` Settings
#
#
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/geo+json
  application/javascript
  application/x-javascript
  application/json
  application/ld+json
  application/manifest+json
  application/rdf+xml
  application/rss+xml
  application/xhtml+xml
  application/xml
  font/eot
  font/otf
  font/ttf
  image/svg+xml
  text/css
  text/javascript
  text/plain
  text/xml;
. . .

Agora reinicie o Nginx para levar novas configurações em vigor.

Verifique a compactação GZIP

Agora que ativamos a compactação GZIP, vamos verificar.

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

A resposta permanecerá a mesma, já que a compressão já foi ativada para esse FileType:

Output
HTTP/1.1 200 OK
Server: nginx/1.18.0 (Ubuntu)
Date: Mon, 08 Feb 2021 11:03:41 GMT
Content-Type: text/html
Last-Modified: Mon, 08 Feb 2021 11:03:41 GMT
Connection: keep-alive
ETag: W/"6222dc8d-500"
<strong>Content-Encoding: gzip</strong>

Conclusão

Neste artigo, aprendemos que você pode usar o módulo Nginx GZIP para acelerar as transferências de arquivos. Mostramos você passo a passo como ativar a compactação GZIP no NGINX usando o módulo GZIP. A documentação oficial para GZIP Module lista outras diretivas de configuração que você pode querer dar uma olhada. Espero que este tutorial o ajude a otimizar o desempenho e a velocidade do seu site.

Explore