O Nginx ativa a função de compactação Gzip, que pode compactar os arquivos css, js, xml e html do site durante a transmissão, melhorar a velocidade de acesso e otimizar o desempenho do Nginx! Imagens, vídeos e outros arquivos multimídia no site , assim como arquivos grandes, são compactados. O efeito não é bom, então não há necessidade de suportar compactação para a imagem. Se quiser otimizar, você pode definir o ciclo de vida da imagem para ser mais longo e deixar o cliente cache. Após a função Gzip ser ligada, o servidor Nginx irá comprimir o conteúdo enviado, como css, js, xml, html e outros recursos estáticos de acordo com a estratégia configurada, de forma que o tamanho deste conteúdo seja reduzido, e o usuário irá processe-o antes que o usuário receba o conteúdo retornado. Os dados compactados são apresentados ao cliente. Isso não só pode economizar muita largura de banda de exportação, melhorar a eficiência da transmissão, mas também melhorar a experiência de percepção rápida dos usuários, que matará dois coelhos com uma cajadada. Embora consuma uma certa quantidade de recursos da CPU, vale a pena dar aos usuários uma melhor experiência.
Função de compressão Gzip: A função de compressão pode ser habilitada antes do relatório de resposta ser enviado ao cliente, o que pode efetivamente economizar largura de banda e melhorar a velocidade de resposta ao cliente. A compactação Gzip pode ser configurada nos módulos http, servidor e localização. Descrição do parâmetro de compressão Gzip para Nginx:
gzip on; # Decide se abrirá o módulo gzip, on significa abrir, off significa fechar;
gzip_min_length 1k; #Defina o byte mínimo da página que pode ser compactado (obtido a partir do Content-Length do cabeçalho). Quando o conteúdo retornado for maior que este valor, o gzip será usado para compactação. A unidade é K. Quando o valor é 0, todas as páginas são compactadas. É recomendado ser maior que 1k
gzip_buffers 4 16k; #Defina o tamanho da memória para a qual o gzip se aplica. Sua função é aplicar o espaço de memória de acordo com um múltiplo do tamanho do bloco. A unidade por trás do param2: int (k) é k. A configuração aqui é 16k como unidade, e a memória é aplicada a 4 vezes o tamanho dos dados originais em 16k como unidade.
gzip_http_version 1.1; #Identifique a versão do protocolo http, o navegador pode não suportar a extração automática de gzip, os usuários verão distorcidos
gzip_comp_level 2; #Defina o nível de compactação gzip, quanto mais baixo for o nível, mais rápida será a velocidade de compactação, menor será a taxa de compactação do arquivo e vice-versa, quanto mais lenta for a velocidade, maior será a taxa de compactação do arquivo; nível 1-9, o menor compressão é a mais rápida, mas consome cpu
gzip_types text / plain application / x-javascript text / css application / xml; # Defina o tipo MIME que precisa ser compactado e o valor não definido não será compactado, ou seja, o tipo de compactação é compatível
gzip_vary on; #Ativar o cabeçalho de resposta "Vary: Accept-Encoding"
gzip_proxied off;
gzip_disable msie6;
Da seguinte forma: Modifique o arquivo de configuração nginx /usr/local/nginx/conf/nginx.conf
[root @ localhost ~] # vim /usr/local/nginx/conf/nginx.conf #Coloque a seguinte configuração na área http {...} de nginx.conf
#Modifique a configuração como
gzip ativado ; #Ativar compactação gzip
gzip_min_length 10k; #Defina o número mínimo de bytes permitidos para compactação; isso significa que, se o arquivo tiver menos de 10 bytes, nenhuma compactação será necessária, porque não faz sentido e é originalmente pequeno.
gzip_buffers 4 16k; #Defina o tamanho do buffer de compactação, aqui é definido como 4 16K de memória como o buffer de fluxo de resultado de compactação
gzip_http_version 1.1; # Versão comprimida
gzip_comp_level 2; #Defina a taxa de compressão, o mínimo é 1, a velocidade de processamento é rápida e a velocidade de transmissão é lenta; 9 é a taxa de compressão máxima, a velocidade de processamento é lenta e a velocidade de transmissão é rápida; aqui está o nível de compressão, que pode ser qualquer um de 0 a 9, o nível Quanto maior o valor, menor a compressão, o que economiza recursos de largura de banda, mas também consome recursos de CPU, portanto, a compensação geral é 6
gzip types text / css text / xml application / javascript; #Especifique o tipo de compressão, configure tantos tipos de compressão quanto possível durante a configuração online!
gzip_disable "MSIE [1-6] \."; #Configure para desabilitar a condição gzip, suporte regular. Isso significa que o gzip não está habilitado para o ie6 e anteriores (porque as versões anteriores do ie não suportam)
Ativar gzip; #Escolher para suportar o cabeçalho de variação; alterar a opção para permitir que o servidor de cache front-end armazene em cache páginas compactadas com gzip; isso pode ser omitido, o que significa que, ao transmitir dados, o cliente explicará que eu uso a compactação gzip
A seguir está a configuração de compressão Gzip comumente usada online
[root @ k8s-master ~] # cat /data/nginx/conf/nginx.conf
........
http {
.......
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.1;
gzip_comp_level 9;
gzip_types text / plain application / x-javascript text / css application / xml text / javascript application / x-httpd-php application / javascript application / json;
gzip_disable "MSIE [1-6] \.";
gzip_vary on;
}
----------------------fim---------------------
Leitura recomendada: