Tgħallem Kif Tħaffef il-Websajts billi tuża l-Modulu Nginx u Gzip
Anke fi żmien meta veloċitajiet sinifikanti tal-Internet huma disponibbli madwar id-dinja, kull sforz biex jiġu ottimizzati l-ħinijiet tat-tagħbija tal-websajt hija milqugħa b'idejha miftuħa.
F'dan l-artikolu ser niddiskutu metodu biex iżżid il-veloċitajiet ta 'trasferiment billi tnaqqas id-daqsijiet tal-fajl permezz tal-kompressjoni. Dan l-approċċ iġib benefiċċju żejjed peress li jnaqqas ukoll l-ammont ta 'bandwidth użat fil-proċess, u jagħmilha irħas għas-sid tal-websajt li jħallas għaliha.
Biex twettaq l-għan iddikjarat fil-paragrafu ta 'hawn fuq, se nużaw Nginx u l-modulu gzip inkorporat tiegħu f'dan l-artikolu. Kif tgħid id-dokumentazzjoni uffiċjali, dan il-modulu huwa filtru li jikkompressa t-tweġibiet bl-użu tal-metodu magħruf ta' kompressjoni gzip. Dan jiżgura li d-daqs tad-dejta trażmessa se jkun ikkompressat bin-nofs jew saħansitra aktar.
Sakemm tasal fil-qiegħ ta 'din il-kariga, ser ikollok raġuni oħra biex tikkunsidra li tuża Nginx biex isservi l-websajts u l-applikazzjonijiet tiegħek.
Installazzjoni ta 'Nginx Web Server
Nginx huwa disponibbli għad-distribuzzjonijiet moderni ewlenin kollha. Għalkemm se nużaw magna virtwali CentOS 7 (IP 192.168.0.29) għal dan l-artikolu.
L-istruzzjonijiet provduti hawn taħt se jaħdmu bi ftit (jekk hemm) modifiki f'distribuzzjonijiet oħra wkoll. Huwa preżunt li l-VM tiegħek hija installazzjoni ġdida; inkella, ikollok tiżgura ruħek li ma jkunx hemm servers tal-web oħra (bħal Apache) li jaħdmu fuq il-magna tiegħek.
Biex tinstalla Nginx flimkien mad-dipendenzi meħtieġa tiegħu, uża l-kmand li ġej:
----------- On CentOS/RHEL 7 and Fedora 22-24 ----------- # yum update && yum install nginx ----------- On Debian and Ubuntu Distributions ----------- # apt update && apt install nginx
Biex tivverifika li l-installazzjoni tlestiet b'suċċess u li Nginx jista 'jservi fajls, ibda s-server tal-web:
# systemctl start nginx # systemctl enable nginx
u mbagħad iftaħ web browser u mur http://192.168.0.29
(tinsiex li tissostitwixxi 192.168.0.29 bl-indirizz IP jew hostname tas-server tiegħek). Għandek tara l-paġna Merħba:
Irridu nżommu f'moħħna li xi tipi ta 'fajls jistgħu jiġu kkompressati aħjar minn oħrajn. Fajls ta' test sempliċi (bħal fajls HTML, CSS, u JavaScript) jikkompressaw tajjeb ħafna filwaqt li oħrajn (fajls .iso, tarballs, u stampi, biex insemmu xi ftit) ma jagħmlux hekk, peress li huma diġà kkompressati min-natura tagħhom.
Għalhekk, huwa mistenni li l-kombinazzjoni ta 'Nginx u gzip se tippermettilna nżidu l-veloċitajiet ta' trasferiment ta 'l-ewwel, filwaqt li tal-aħħar jista' juri ftit jew xejn titjib.
Huwa wkoll importanti li wieħed iżomm f'moħħu li meta l-modulu gzip huwa attivat, il-fajls HTML DEJJEM huma kkompressati, iżda tipi oħra ta 'fajls li jinsabu komunement f'websajts u applikazzjonijiet (jiġifieri, CSS u JavaScript) mhumiex.
Ittestjar tal-Veloċitajiet tal-Websajt Nginx MINGĦAJR il-Modulu gzip
Biex tibda, ejja tniżżel mudell Bootstrap komplut, taħlita kbira ta 'fajls HTML, CSS, u JavaScript.
Wara li tniżżel il-fajl ikkompressat, aħna se nħollu fid-direttorju tal-għeruq tal-blokk tas-server tagħna (ftakar li dan huwa l-ekwivalenti Nginx tad-direttiva DocumentRoot f'dikjarazzjoni tal-host virtwali Apache):
# 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
Għandu jkollok l-istruttura tad-direttorju li ġejja ġewwa /var/www/html/tecmint
:
# ls -l /var/www/html/tecmint
Issa mur http://192.168.0.29/tecmint
u kun żgur li l-paġna titgħabba b'mod korrett. Il-biċċa l-kbira tal-browser moderni jinkludu sett ta 'għodod għall-iżviluppatur. F'Firefox, tista' tiftaħha permezz tal-menu Għodda → Żviluppatur tal-Web
.
Aħna partikolarment interessati fis-submenu Netwerk
, li se jippermettilna nissorveljaw it-talbiet kollha tan-netwerk li għaddejjin bejn il-kompjuter tagħna u n-netwerk lokali u l-Internet.
Shortcut għall-ftuħ tal-menu Netwerk
fl-għodod tal-iżviluppatur huwa Ctrl + Shift + Q
. Agħfas dik il-kombinazzjoni taċ-ċwievet jew uża l-menu bar biex tiftaħha.
Peress li aħna interessati li neżaminaw it-trasferiment tal-fajls HTML, CSS, u JavaScript, ikklikkja fuq il-buttuni fil-qiegħ u aġġorna l-paġna. Fl-iskrin prinċipali se tara d-dettall tat-trasferiment tal-fajls kollha HTML, CSS, u JavaScript:
Fuq il-lemin tal-kolonna Daqs (li turi d-daqsijiet tal-fajls individwali) tara l-ħinijiet tat-trasferiment individwali. Tista' wkoll tikklikkja darbtejn fuq kwalunkwe fajl partikolari biex tara aktar dettalji fit-tab Ħinijiet
.
Kun żgur li tieħu noti tal-ħinijiet murija fl-immaġni ta 'hawn fuq sabiex tkun tista' tqabbelhom mal-istess trasferiment ladarba nkunu ppermettejna l-modulu gzip.
Attivazzjoni u Konfigurazzjoni tal-Modulu gzip f'Nginx
Biex tattiva u kkonfigurat il-modulu gzip, iftaħ /etc/nginx/nginx.conf
, sib il-blokk tas-server prinċipali kif muri fl-immaġni hawn taħt, u żid jew immodifika l-linji li ġejjin (tinsiex il- punt u virgola fl-aħħar jew Nginx se jirritorna messaġġ ta 'żball waqt li jerġa' jibda aktar tard!)
root /var/www/html; gzip on; gzip_types text/plain image/jpeg image/png text/css text/javascript;
Id-direttiva gzip tixgħel jew titfi l-modulu gzip, filwaqt li gzip_types jintuża biex telenka t-tipi MIME kollha li l-modulu għandu jimmaniġġja.
Biex titgħallem aktar dwar it-tipi MIME u tara t-tipi disponibbli, mur Basics_of_HTTP_MIME_types.
Ittestjar tal-Veloċitajiet tal-Websajt Nginx Bil-Modulu ta 'Kompressjoni Gzip
Ladarba lestejna l-passi ta 'hawn fuq, ejja nibdew mill-ġdid Nginx u erġa' tagħbija l-paġna billi tagħfas Ctrl + F5
(għal darb'oħra, dan jaħdem f'Firefox, allura jekk qed tuża browser differenti ikkonsulta l-ewwel id-dokumentazzjoni korrispondenti) biex tegħleb il-cache u ejja nosservaw il-ħinijiet tat-trasferiment:
# systemctl restart nginx
It-tab tat-talbiet tan-netwerk turi xi titjib sinifikanti. Qabbel il-ħinijiet biex tara għalik innifsek, filwaqt li żżomm f'moħħok li huma t-trasferimenti bejn il-kompjuter tagħna u 192.168.0.29 (it-trasferimenti bejn is-servers ta' Google u s-CDNs huma lil hinn mill-ħtma tagħna):
Pereżempju, ejja nikkunsidraw l-eżempji ta 'trasferiment ta' fajls li ġejjin qabel/wara li nippermettu gzip. Il-ħinijiet huma mogħtija f'millisekondi:
index.html
(rappreżentat minn/tecmint/
fil-quċċata tal-lista): 15/4Creative.min.css
: 18/8jquery.min.js
: 17/7
Dan ma jġiegħlekx tħobb Nginx saħansitra aktar? Sa fejn jien konċernati, hekk!
Sommarju
F'dan l-artikolu wrejna li tista 'tuża l-modulu Nginx gzip biex tħaffef it-trasferimenti tal-fajls. Id-dokumentazzjoni uffiċjali għall-modulu gzip telenka direttivi oħra ta' konfigurazzjoni li tista' tkun trid tagħti ħarsa lejhom.
Barra minn hekk, il-websajt tal-Mozilla Developer Network għandha entrata dwar il-Monitor tan-Netwerk li tispjega kif tuża din l-għodda biex tifhem x'inhu jiġri wara l-kwinti f'talba għal netwerk.
Bħal dejjem, tħossok liberu li tuża l-formola tal-kummenti hawn taħt jekk għandek xi mistoqsijiet dwar dan l-artikolu. Aħna dejjem ħerqana li nisimgħu mingħandek!