Nginx we Gzip modulyny ulanyp, web sahypalaryny nädip çaltlaşdyrmalydygyny öwreniň


Hatda ýer ýüzünde möhüm internet tizliginiň bar bolan döwründe-de web sahypasynyň ýükleniş wagtyny optimizirlemek üçin edilen ähli tagallalar aç-açan garşylanýar.

Bu makalada faýlyň ululygyny gysmak arkaly azaltmak arkaly geçiriş tizligini ýokarlandyrmagyň usulyny ara alyp maslahatlaşarys. Bu çemeleşme goşmaça peýda getirýär, sebäbi bu amalda ulanylýan geçirijilik giňligini hem azaldýar we ony töleýän web sahypasynyň eýesi üçin arzanlaşdyrýar.

Aboveokardaky abzasda görkezilen maksada ýetmek üçin, bu makalada Nginx we içindäki gzip modulyny ulanarys. Resmi resminamalarda aýdylyşy ýaly, bu modul belli gzip gysyş usuly bilen jogaplary gysýan süzgüçdir. Bu, iberilýän maglumatlaryň ululygynyň ýarym ýa-da ondanam köp gysylmagyny üpjün edýär.

Bu ýazgynyň aşagyna ýeteniňizde, web sahypalaryňyza we programmalaryňyza hyzmat etmek üçin Nginx-den peýdalanmagy göz öňünde tutmagyň ýene bir sebäbi bolar.

Nginx web serwerini gurmak

Nginx ähli häzirki zaman paýlamalary üçin elýeterlidir. Bu makala üçin CentOS 7 wirtual maşynyny (IP 192.168.0.29) ulanarys.

Aşakda berlen görkezmeler beýleki paýlamalarda-da az (bar bolsa) üýtgetmeler bilen işlär. VM-iňiz täze gurnama hasaplanýar; bolmasa, enjamyňyzda işleýän başga web serwerleriniň (Apache ýaly) ýokdugyna göz ýetirmeli bolarsyňyz.

Nginx-i zerur baglylyklar bilen bilelikde gurmak üçin aşakdaky buýrugy ulanyň:

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

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

Gurluşyň üstünlikli tamamlanandygyny we Nginx-iň faýllara hyzmat edip biljekdigini barlamak üçin web serwerine başlaň:

# systemctl start nginx
# systemctl enable nginx

soň web brauzerini açyň we http://192.168.0.29 gidiň (192.168.0.29-ny IP adresi ýa-da serweriňiziň ady bilen çalyşmagy ýatdan çykarmaň). Hoş geldiňiz sahypasyny görmeli:

Käbir faýl görnüşleriniň beýlekilerden has gowy gysylyp bilinjekdigini ýadymyzdan çykarmaly däldiris. Tekst tekst faýllary (HTML, CSS we JavaScript faýllary ýaly) gaty gowy gysylýar, beýlekiler (.iso faýllar, tarbollar we suratlar, birneme atlandyrmak üçin) eýýäm tebigat tarapyndan gysylan ýaly däl.

Şeýlelik bilen, Nginx bilen gzip-iň birleşmegi, ozalky geçiş tizligini ýokarlandyrmaga mümkinçilik berer, ikinjisi bolsa asla gowulaşmaz ýa-da bolmazlygy mümkin.

Gzip moduly işledilende HTML faýllarynyň hemişe gysylýandygyny, ýöne web sahypalarynda we programmalarda (CSS we JavaScript) köplenç duş gelýän beýleki faýl görnüşleriniň ýokdugyny ýatdan çykarmaly däldiris.

Nginx web sahypasynyň tizligini gzip moduly bolmazdan barlamak

Başlamak üçin, HTML, CSS we JavaScript faýllarynyň ajaýyp kombinasiýasy bolan Bootstrap şablonyny göçürip alalyň.

Gysylan faýly göçürip alanymyzdan soň, ony serwer blokumyzyň kök katalogyna açarys (bu Apache wirtual host deklarasiýasynda DocumentRoot direktiwasynyň Nginx ekwiwalentdigini ýadyňyzdan çykarmaň):

# 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

/var/www/html/tecmint içinde aşakdaky katalog gurluşy bolmaly:

# ls -l /var/www/html/tecmint

Indi http://192.168.0.29/tecmint gidiň we sahypanyň dogry ýüklenýändigine göz ýetiriň. Häzirki zaman brauzeriniň köpüsinde dörediji gurallar toplumy bar. Firefox-da ony Gurallar → Web Developer menýusy arkaly açyp bilersiňiz.

Kompýuterimiz bilen ýerli ulgam bilen internetiň arasynda bolup geçýän ähli ulgam isleglerine gözegçilik etmäge mümkinçilik berýän Network submenu bilen aýratyn gyzyklanýarys.

Dörediji gurallarynda Network menýusyny açmak üçin gysga ýol Ctrl + Shift + Q . Şol açar kombinasiýasyny basyň ýa-da açmak üçin menýu setirini ulanyň.

HTML, CSS we JavaScript faýllarynyň geçirilişini öwrenmek isleýänimiz üçin, aşaky düwmelere basyň we sahypany täzeläň. Esasy ekranda ähli HTML, CSS we JavaScript faýllarynyň geçirilişiniň jikme-jikliklerini görersiňiz:

Ölçeg sütüniniň sag tarapynda (aýratyn faýl ululyklaryny görkezýär) aýratyn geçiriş wagtlaryny görersiňiz. Şeýle hem, Wagtlar goýmasynda has giňişleýin maglumat görmek üçin islendik faýla iki gezek basyp bilersiňiz.

Gzip modulyny açanymyzdan soň şol bir geçiriş bilen deňeşdirip bilersiňiz, ýokardaky suratda görkezilen wagtlary belläň.

Nginx-de gzip modulyny açmak we düzmek

Gzip modulyny işletmek we düzmek üçin /etc/nginx/nginx.conf açyň, aşakdaky suratda görkezilişi ýaly esasy serwer blokuny tapyň we aşakdaky setirleri goşuň ýa-da üýtgediň (aşakdakylary ýatdan çykarmaň) ahyrynda nokatly nokat ýa-da Nginx soň täzeden başlanda säwlik habaryny iberer!)

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

Gzip direktiwasy gzip modulyny açýar ýa-da öçürýär, gzip_ görnüşleri bolsa modulyň işlemeli ähli MIME görnüşlerini sanamak üçin ulanylýar.

MIME görnüşleri barada has giňişleýin öwrenmek we elýeterli görnüşleri görmek üçin Basics_of_HTTP_MIME_types sahypasyna giriň.

Gzip gysyş moduly bilen Nginx web sahypasynyň tizligini barlamak

Aboveokardaky ädimleri ýerine ýetirenimizden soň, Nginx-i täzeden açalyň we Ctrl + F5 basyp sahypany täzeden açalyň (ýene-de bu Firefox-da işleýär, başga brauzer ulanýan bolsaňyz, ilki degişli resminamalara serediň) keş keşbini ýok etmek we geçiriş wagtyna syn edeliň:

# systemctl restart nginx

Tor haýyşlary goýmasy käbir möhüm gowulaşmalary görkezýär. Kompýuterimiziň we 192.168.0.29 (Google serwerleri bilen CDN-leriň arasyndaky geçirimler biziň düşünip bilmeýäris) ýadyňyzda bolsa, özüňiz görmek üçin wagtlary deňeşdiriň:

Mysal üçin, gzip açmazdan ozal/soň aşakdaky faýl geçiriş mysallaryna seredeliň. Wagtlar millisekuntda berilýär:

  1. index.html (sanawyň başynda /tecmint/ bilen görkezilýär): 15/4
  2. Creative.min.css : 18/8
  3. jquery.min.js : 17/7

Bu sizi Nginx-i hasam söýmäge mejbur edenokmy? Meniň pikirimçe, şeýle!

Gysgaça mazmun

Bu makalada faýl geçirişini çaltlaşdyrmak üçin Nginx gzip modulyny ulanyp biljekdigiňizi görkezdik. Gzip modulynyň resmi resminamalarynda göz aýlamak isleýän beýleki konfigurasiýa görkezmeleriň sanawy görkezilýär.

Mundan başga-da, “Mozilla Developer Network” web sahypasynda, tor haýyşy bilen sahnanyň aňyrsynda nämeleriň bolup geçýändigine düşünmek üçin bu guraly nädip ulanmalydygyny düşündirýän Network Monitor hakda ýazgy bar.

Hemişe bolşy ýaly, bu makala bilen baglanyşykly soraglaryňyz bar bolsa, aşakdaky düşündiriş formuny ulanyp bilersiňiz. Biz elmydama sizden eşitmäge sabyrsyzlyk bilen garaşýarys!