Kako omogućiti i konfigurirati Gzip kompresiju na Nginxu

Dio svake operacije web stranice je osigurati da posjetitelji mogu vidjeti stranicu što je brže moguće. Ipak, jedan od najvećih uzroka usporavanja je učitavanje resursa koji ovise o veličini može ozbiljno utjecati na web stranicu bez omogućenog GZIP-a na sličnoj web stranici.

NGINX je izvrstan web poslužitelj, napravljen za brzinu, lagan za rukovanje višestrukim vezama i dolazi s podrškom za GZIP, ali to može biti dvosjekli mač jer korištenje GZIP-a povećava iskorištenost CPU-a. Ovisno o vašem poslužitelju i njegovim resursima, mogao bi imati suprotan učinak omogućavajući ga bez optimizacije.

Zanima vas dosadašnja tema? U našem vodiču naučit ćete osnovnu postavku GZIP-a.

Optimizirani GZIP – Osnovno postavljanje

Prvo idite na svoj nginx direktorij i otvorite nginx.conf file.

sudo nano /etc/nginx/nginx.conf

Zatim kopirajte dolje optimizirane postavke za uvod za kompresiju.

Ovo je dobro za poslužitelje koji nemaju puno resursa. Osnovno je i radi svoj posao.

## 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;

Možda ćete se pitati prije nego što pogledamo naprednije postavke što neki pojmovi znače.


Oglas


GZIP definicije

Razina kompresije – gzip_comp_level #;

Razina gzip_comp_level može se postaviti između 0 do 9. Što je najviša razina kompresije, to je veća kompresija primijenjena. Kada bi više razine kompresije kao što je maksimalna bila 9, tada je potrebno više CPU-a. Ako vaš poslužitelj ima poteškoća s korištenjem CPU-a, preporuča se zadržati srednji raspon jer su kompromisi za povećanje ove postavke vrlo minimalni i teško ćete vidjeti razliku u rezultatima.

Minimalna duljina kompresije – gzip_min_length #;

Nginx koristi kompresiju kada je duljina odgovora veća od 1000 bajtova koji se ne može promijeniti. Ovo možete postaviti manje od 1000 bajtova; međutim, za manje datoteke, vrijeme potrebno za komprimiranje tih datoteka je značajnije od vremena ušteđenog pri prijenosu. Također ćete začepiti nepotrebnu upotrebu CPU-a, au nekim slučajevima možete povećati veličinu datoteka, kao što su statične datoteke poput slika koje nikada ne bi trebale biti uključene.

Zaglavlje variranja kompresije – gzip_proxied #;

Ova direktiva govori proxyjima da predmemoriraju i regularnu i gzipiranu verziju resursa. Nginx će dodati ovo zaglavlje samo kada se koristi kompresija, ovisno o postavci gzip_min_length.

Kompresijske mime vrste

Vrste mime koji se nalaze u vašem /yourlocation/nginx/mime.types su vrste sadržaja navedene u vašem Nginxu koje GZIP može komprimirati ako su navedeni. Naveli smo samo one osnovne; međutim, možete komprimirati mnoge druge aspekte. Ne zaboravite gzip statične datoteke kao što su slike, jer će to imati negativan učinak.

Jedine binarne datoteke koje se mogu komprimirati sa slikama su “slika/svg+xml”

Napredna optimizirana postavka Nginxa i GZIP-a

U nastavku ćemo pokazati primjer naprednijeg postavljanja, mnogo više se može učiniti, a trebali biste testirati što dobro radi s vašim poslužiteljem pod aktivnim opterećenjem.

Zapamti, svoje nginx.conf nalazi se u mapi 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;

Za kasnije testiranje, nekoliko web stranica kao npr Dar za brzinu i SiteCheckerPro mogu raditi online testove. Ovo je vjerojatno najlakši način da kažete kako vaš poslužitelj radi pod opterećenjem iz vanjskog izvora.

Komentari i zaključak

GZIP je jedan od najučinkovitijih načina za optimizaciju vaše web stranice prije nego što softver za minifikacija može zakomplicirati i razbiti web stranice tijekom konfiguracije. GZIP neće negativno utjecati na vašu web stranicu osim ako ne postavite previsoku stopu kompresije na CPU ili prenisku minimalnu duljinu gdje komprimira nepotrebne datoteke.

Mnoge statistike govore da je brzina značajan faktor za SEO rangiranje, a ovo jednostavno rješenje moglo bi biti razlika u stjecanju većeg prometa na dugi rok.

Ostavite komentar