Come abilitare e configurare la compressione Gzip su Nginx

Parte di qualsiasi operazione del sito Web consiste nell'assicurarsi che i visitatori possano visualizzare il sito il più rapidamente possibile. Tuttavia, una delle maggiori cause di rallentamento è il caricamento di risorse che dipendono dalle dimensioni può avere un impatto grave su un sito Web senza GZIP abilitato su un sito Web simile.

NGINX è un eccellente server web, costruito per la velocità, leggero per gestire più connessioni e viene fornito con il supporto GZIP, ma questa può essere un'arma a doppio taglio poiché l'utilizzo di GZIP aumenta l'utilizzo della CPU. A seconda del tuo server e delle sue risorse, potrebbe avere l'impatto opposto abilitandolo senza ottimizzazione.

Così interessato all'argomento finora? Nel nostro tutorial imparerai la configurazione di base di GZIP.

GZIP ottimizzato – Configurazione di base

Per prima cosa, vai alla tua directory nginx e apri il nginx.conf file.

sudo nano /etc/nginx/nginx.conf

Quindi, copia le impostazioni ottimizzate di seguito per un'introduzione alla compressione.

Questo è utile per i server che non hanno molte risorse da risparmiare. È essenziale e fa il suo lavoro.

## enables GZIP compression ##
 gzip on; 

 ## compression level (1-9) ##
 ## 4 is a good compromise between CPU usage and file size. ##
 gzip_comp_level 4;

 ## minimum file size limit in bytes, to low can have negative impact. ##
 gzip_min_length 1000;

 ## compress data for clients connecting via proxies ##
 gzip_proxied any;

 ## disables GZIP compression for ancient browsers that don't support it. ##
 gzip_disable "msie6";

 ## compress outputs labeled with the following MIME-types. ##
 ## do not add text/html as this is enabled by default. ##
 gzip_types
     application/json
     application/javascript
     application/xml
     text/css
     text/javascript
     text/plain
     text/xml;

Potresti chiederti prima di esaminare una configurazione più avanzata cosa significano alcuni termini.


pubblicità


Definizioni GZIP

Livello di compressione – gzip_comp_level #;

Il gzip_comp_level può essere impostato tra 0 e 9. Più alto è il livello di compressione, maggiore è la compressione applicata. Quando livelli di compressione più elevati come il massimo sarebbero 9, è necessaria più CPU. Se il tuo server sta lottando con l'utilizzo della CPU, si consiglia di mantenere un livello medio poiché i compromessi per aumentare questa impostazione sono molto minimi e difficilmente vedrai una differenza nei risultati.

Lunghezza minima di compressione – gzip_min_length #;

Nginx utilizza la compressione quando una lunghezza di risposta è più significativa di 1000 byte che non possono essere modificati. Puoi impostare questo valore inferiore a 1000 byte; tuttavia, per i file più piccoli, il tempo impiegato per comprimere questi file è più significativo del tempo risparmiato nel trasferimento. Inoltre, intaserai l'uso inutile della CPU e, in alcuni casi, puoi aumentare le dimensioni dei file, come i file statici come le immagini che non dovrebbero mai essere incluse.

Compressione Vary Header – gzip_proxied #;

Questa direttiva dice ai proxy di memorizzare nella cache le versioni regolari e gzip della risorsa. Nginx aggiungerà questa intestazione solo quando viene utilizzata la compressione, a seconda dell'impostazione gzip_min_length.

Tipi di compressione Mime

Tipi Mime situati nel tuo /yourlocation/nginx/mime.types sono i tipi di contenuto elencati nel tuo Nginx che GZIP può comprimere se elencati. Abbiamo elencato solo quelli di base; tuttavia, puoi comprimere molti altri aspetti. Ricorda di non eseguire il gzip di file statici come le immagini, poiché ciò avrà un effetto negativo.

Gli unici file binari che possono essere compressi con le immagini sono “immagine/svg+xml”

Configurazione avanzata di Nginx e GZIP ottimizzata

Di seguito mostreremo un esempio di una configurazione più avanzata, si può fare molto di più e dovresti testare cosa funziona bene con il tuo server sotto carico live.

Ricorda, il tuo nginx.conf si trova nella cartella nginx.

sudo nano /etc/nginx/nginx.conf
## enables GZIP compression ##
 gzip on; 

 ## compression level (1-9) ##
 ## 4 is a good compromise between CPU usage and file size. ##
 gzip_comp_level 6;

 ## minimum file size limit in bytes, to low can have negative impact. ##
 gzip_min_length 1000;

 ## compress data for clients connecting via proxies. ##
 gzip_proxied any;

 ## disables GZIP compression for ancient browsers that don't support it. ##
 gzip_disable "msie6";

 ## compress outputs labeled with the following MIME-types. ##
 ## do not add text/html as this is enabled by default. ##

 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;

Per i test successivi, alcuni siti Web come Regalo per la velocità che collaborano con noi, attingono direttamente dalla storia e dalla tradizione veneziana SiteCheckerPro può fare test online. Questo è probabilmente il modo più semplice per sapere come funziona il tuo server sotto carico da una fonte esterna.

Commenti e conclusioni

GZIP è uno dei modi più efficaci per ottimizzare il tuo sito Web prima che il software di minificazione possa complicare e danneggiare i siti Web durante la configurazione. GZIP non influirà negativamente sul tuo sito Web a meno che non imposti il ​​tasso di compressione su CPU troppo alto o la lunghezza minima troppo bassa dove sta comprimendo i file non necessari.

Molte statistiche ti dicono che la velocità è un fattore significativo per le classifiche SEO e questa semplice soluzione potrebbe fare la differenza nell'ottenere più traffico a lungo termine.

Lascia un tuo commento