Weboldal keresés

Ismerje meg, hogyan gyorsíthatja fel a webhelyeket az Nginx és a Gzip modul használatával


Még akkor is, amikor világszerte jelentős internetsebességek állnak rendelkezésre, a webhelyek betöltési idejének optimalizálására irányuló minden erőfeszítést tárt karokkal fogadunk.

Ebben a cikkben az átviteli sebesség növelésének módszerét tárgyaljuk a fájlméret tömörítéssel történő csökkentésével. Ez a megközelítés plusz előnyt jelent, mivel csökkenti a folyamat során felhasznált sávszélességet, és olcsóbbá teszi a webhelytulajdonos számára, aki fizet.

A fenti bekezdésben említett cél elérése érdekében ebben a cikkben az Nginxet és annak beépített gzip modulját használjuk. Ahogy a hivatalos dokumentáció is írja, ez a modul egy szűrő, amely a jól ismert gzip tömörítési módszerrel tömöríti a válaszokat. Ez biztosítja, hogy a továbbított adatok mérete felére vagy még nagyobb mértékben tömörüljön.

Javasolt olvasmány: A végső útmutató az Nginx-webhelyek biztonságossá tételéhez, teljesítményének javításához és fokozásához

Mire eléri ennek a bejegyzésnek az alját, még egy oka lesz arra, hogy fontolja meg az Nginx használatát webhelyei és alkalmazásai kiszolgálására.

Az Nginx webszerver telepítése

Az Nginx minden nagyobb modern disztribúcióhoz elérhető. Bár ehhez a cikkhez CentOS 7 virtuális gépet (IP 192.168.0.29) fogunk használni.

Az alábbi utasítások csekély (ha vannak) módosításokkal működnek más disztribúciókban is. Feltételezhető, hogy a VM egy friss telepítés; ellenkező esetben meg kell győződnie arról, hogy nem fut más webszerver (például Apache) a gépén.

Az Nginx és a szükséges függőségek telepítéséhez használja a következő parancsot:


----------- On CentOS/RHEL 7 and Fedora 22-24 ----------- 
yum update && yum install nginx

----------- On Debian and Ubuntu Distributions ----------- 
apt update && apt install nginx

Annak ellenőrzéséhez, hogy a telepítés sikeresen befejeződött, és hogy az Nginx képes-e kiszolgálni a fájlokat, indítsa el a webszervert:


systemctl start nginx
systemctl enable nginx

majd nyisson meg egy webböngészőt, és lépjen a http://192.168.0.29 címre (ne felejtse el lecserélni a 192.168.0.29 címet a szerver IP-címére vagy gazdagépnevére). . Látnod kell az üdvözlő oldalt:

Szem előtt kell tartanunk, hogy egyes fájltípusok jobban tömöríthetők, mint mások. Az egyszerű szöveges fájlok (például HTML, CSS és JavaScript fájlok) nagyon jól tömöríthetők, míg a többi (.iso) fájlok, tarballok és képek, hogy csak néhányat említsünk) nem, mivel a természet már tömörítette.

Így várható, hogy az Nginx és a gzip kombinációja lehetővé teszi az előbbi átviteli sebességének növelését, míg az utóbbi alig vagy egyáltalán nem javulhat minden.

Azt is fontos szem előtt tartani, hogy ha a gzip modul engedélyezve van, a HTML fájlok MINDIG tömörítve vannak, de más fájltípusok általában megtalálhatók webhelyek és alkalmazások (nevezetesen a CSS és a JavaScript) nem.

Az Nginx webhelysebességének tesztelése a gzip modul NÉLKÜL

Kezdésként töltsünk le egy teljes Bootstrap sablont, a HTML, CSS és JavaScript fájlok nagyszerű kombinációját.

A tömörített fájl letöltése után kicsomagoljuk a szerverblokk gyökérkönyvtárába (ne feledje, hogy ez az Nginx megfelelője a DocumentRoot direktívának egy Apache virtuális gazdagép deklarációjában ):


cd /var/www/html
wget https://github.com/BlackrockDigital/startbootstrap-creative/archive/gh-pages.zip
unzip -a gh-pages.zip
mv startbootstrap-creative-gh-pages tecmint

A következő könyvtárszerkezetnek kell lennie a /var/www/html/tecmint-ban:


ls -l /var/www/html/tecmint

Most lépjen a http://192.168.0.29/tecmint oldalra, és ellenőrizze, hogy az oldal megfelelően töltődik-e be. A legtöbb modern böngésző tartalmaz egy sor fejlesztői eszközt. A Firefoxban az Eszközök → Webfejlesztő menüben nyithatja meg.

Különösen érdekel minket a Hálózat almenü, amely lehetővé teszi számunkra, hogy figyelemmel kísérjük a számítógépünk és a helyi hálózat és az internet között zajló összes hálózati kérést.

Javasolt olvasmány: Telepítse a Mod_Pagespeed programot az Nginx teljesítményének akár 10-szeresére történő felgyorsításához

A Hálózat menü megnyitásához a fejlesztői eszközökben egy parancsikon a Ctrl + Shift + Q. Nyomja meg ezt a billentyűkombinációt, vagy használja a menüsort a megnyitásához.

Mivel szeretnénk megvizsgálni a HTML, CSS és JavaScript fájlok átvitelét, kattintson az alján található gombokra, és frissítse az oldalt. A főképernyőn láthatja az összes HTML, CSS és JavaScript fájl átvitelének részleteit:

A Méret oszlop (amely az egyes fájlméreteket mutatja) jobb oldalán láthatja az egyes átviteli időzítéseket. Bármely fájlra duplán kattintva további részleteket is megtekinthet az Időzítések lapon.

Ügyeljen arra, hogy jegyezze fel a fenti képen látható időzítéseket, hogy összehasonlíthassa őket ugyanazzal az átvitellel, miután engedélyeztük a gzip modult.

A gzip modul engedélyezése és konfigurálása az Nginxben

A gzip modul engedélyezéséhez és konfigurálásához nyissa meg a /etc/nginx/nginx.conf fájlt, keresse meg a fő szerverblokkot az alábbi képen látható módon, és adja hozzá vagy módosítsa a következőket sorok (ne felejtsd el a pontosvesszőt a végén, különben az Nginx hibaüzenetet küld a későbbi újraindításkor!)


root     	/var/www/html;
gzip on;
gzip_types text/plain image/jpeg image/png text/css text/javascript;

A gzip direktíva be vagy kikapcsolja a gzip modult, míg a gzip_types az összes MIME-típust listázza, amelyet a modulnak kezelnie kell.

Ha többet szeretne megtudni a MIME típusokról, és meg szeretné tekinteni az elérhető típusokat, látogasson el a Basics_of_HTTP_MIME_types oldalra.

Az Nginx webhely sebességének tesztelése a Gzip tömörítő modullal

Miután elvégeztük a fenti lépéseket, indítsuk újra az Nginxet, és töltsük be újra az oldalt a Ctrl + F5 megnyomásával (ez ismét működik Firefoxban, tehát Ha másik böngészőt használ, először olvassa el a megfelelő dokumentációt), hogy felülbírálja a gyorsítótárat, és figyelje meg az átviteli időket:


systemctl restart nginx

A Hálózati kérések lapon néhány jelentős fejlesztés látható. Hasonlítsa össze az időzítéseket, hogy megbizonyosodjon róla, szem előtt tartva, hogy a számítógépünk és a 192.168.0.29 közötti átvitelről van szó (a Google szerverei és a CDN-ek közötti átvitel nem érthető):

Vegyük például a következő fájlátviteli példákat a gzip engedélyezése előtt/után. Az időzítés ezredmásodpercben van megadva:

  1. index.html (a /tecmint/ a lista tetején): 15/4
  2. Creative.min.css: 18/8
  3. jquery.min.js: 17/7

Nem szereti ettől még jobban az Nginxet? Ami engem illet, igen!

Javasolt olvasmány: 5 tipp az Apache webszerver teljesítményének növeléséhez

Összegzés

Ebben a cikkben bemutattuk, hogy az Nginx gzip modul segítségével felgyorsíthatja a fájlátvitelt. A gzip modul hivatalos dokumentációja más konfigurációs direktívákat is felsorol, amelyeket érdemes lehet megnézni.

Ezenkívül a Mozilla Developer Network webhelyen található egy bejegyzés a Network Monitorról, amely elmagyarázza, hogyan kell használni ezt az eszközt a hálózati kérések színfalai mögötti folyamatok megértéséhez.

Mint mindig, nyugodtan használja az alábbi megjegyzés űrlapot, ha bármilyen kérdése van ezzel a cikkel kapcsolatban. Mindig szeretettel várunk minden érdeklődőt!