Kif Tinstalla Varnish Cache 6 għal Nginx fuq CentOS/RHEL 8
Varnish Cache (komunement imsejjaħ Vernish) huwa aċċeleratur HTTP ta 'reverse-proxy b'sors miftuħ, qawwi u veloċi b'arkitettura moderna u lingwaġġ ta' konfigurazzjoni flessibbli. Li tkun reverse proxy sempliċiment ifisser li huwa softwer li tista' tuża quddiem is-server tal-web tiegħek (li huwa s-server tal-oriġini jew backend) bħal Nginx, biex tirċievi t-talbiet HTTP tal-klijenti u tgħaddihom lis-server tal-oriġini għall-ipproċessar. U jagħti r-rispons mis-server tal-oriġini lill-klijenti.
Verniċ jaġixxi bħala pitkal bejn Nginx u l-klijenti iżda b'xi benefiċċji ta 'prestazzjoni. L-għan ewlieni tiegħu huwa li l-applikazzjonijiet tiegħek jitgħabbew aktar malajr, billi taħdem bħala magna caching. Jirċievi talbiet mill-klijenti u jgħaddihom lill-backend darba biex jaħżen il-kontenut mitlub (aħżen fajls u frammenti ta 'fajls fil-memorja). Imbagħad it-talbiet futuri kollha għal kontenut eżattament simili se jiġu moqdija mill-cache.
Dan jagħmel l-applikazzjonijiet tal-web tiegħek jitgħabbew aktar malajr u jtejjeb indirettament il-prestazzjoni ġenerali tas-server tal-web tiegħek għaliex Vernish se jservi kontenut mill-memorja minflok fajls tal-ipproċessar Nginx mid-disk tal-ħażna.
Minbarra l-caching, Varnish għandu wkoll diversi każijiet ta 'użu oħra inkluż router ta' talba HTTP, u load balancer, firewall tal-applikazzjoni tal-web, u aktar.
Il-verniċ huwa kkonfigurat bl-użu tal-Lingwa ta' Konfigurazzjoni tal-Verniċ (VCL) integrata li tista' tiġi estiża ħafna li tippermettilek tikteb politiki dwar kif għandhom jiġu ttrattati t-talbiet li deħlin. Tista' tużaha biex tibni soluzzjonijiet, regoli u moduli personalizzati.
F'dan l-artikolu, se ngħaddu mill-passi biex ninstallaw is-server tal-web Nginx u Varnish Cache 6 fuq server ġdid CentOS 8 jew RHEL 8. L-utenti ta 'RHEL 8 għandhom jiżguraw li jippermettu l-abbonament redhat.
Biex twaqqaf, munzell LEMP komplut minflok ma tinstalla s-server tal-web Nginx waħdu, iċċekkja l-gwidi li ġejjin.
- Kif Tinstalla LEMP Server fuq CentOS 8
- Kif Tinstalla LEMP Server fuq RHEL 8
Pass 1: Installa Nginx Web Server fuq CentOS/RHEL 8
1. Il-CentOS/RHEL 8 jintbagħat bl-aħħar verżjoni tas-softwer tas-server tal-web Nginx, għalhekk aħna se ninstallawh mir-repożitorju default billi tuża l-kmandi dnf li ġejjin.
# dnf update # dnf install nginx
2. Ladarba Nginx jiġi installat, għandek bżonn tibda, tippermetti u tivverifika l-istatus billi tuża l-kmandi systemctl li ġejjin.
# systemctl start nginx # systemctl enable nginx # systemctl status nginx
3. Jekk int xi ftit kurjuż, tista 'wkoll tiċċekkja s-socket Nginx TCP, li jaħdem fuq il-port 80 b'mod awtomatiku, billi tuża l-kmand ss li ġej.
# ss -tpln
4. Jekk qed tħaddem il-firewall fuq is-sistema, kun żgur li taġġorna r-regoli tal-firewall biex tippermetti talbiet lil server tal-web.
# firewall-cmd --zone=public --permanent --add-service=http # firewall-cmd --reload
Pass 2: Installazzjoni tal-Verniċ Cache 6 fuq CentOS/RHEL 8
5. Is-CentOS/RHEL 8 jipprovdi modulu DNF tal-Varnish Cache b'mod awtomatiku li fih il-verżjoni 6.0 LTS (Appoġġ fit-Tul).
Biex tinstalla l-modulu, mexxi l-kmand li ġej.
# dnf module install varnish
6. Ladarba l-installazzjoni tal-modulu tkun kompluta, tista 'tikkonferma l-verżjoni tal-Verniċ installata fis-sistema tiegħek.
# varnishd -V
7. Wara l-installazzjoni tal-Verniċ Cache, il-kmand eżekutibbli prinċipali installat taħt /usr/sbin/varnishd u l-fajls tal-konfigurazzjoni tal-verniċ jinsabu f'/etc/varnish/.
Il-fajl /etc/varnish/default.vcl huwa l-fajl ewlieni tal-konfigurazzjoni tal-verniċ miktub bl-użu ta 'VCL u /etc/varnish/secret huwa l-fajl sigriet tal-verniċ.
8. Sussegwentement, ibda s-servizz tal-Verniċ, ppermettilu li jibda awtomatikament waqt il-boot tas-sistema u kkonferma li huwa jaħdem u jaħdem.
# systemctl start varnish # systemctl enable varnish # systemctl status varnish
Pass 3: Konfigurazzjoni ta 'Nginx biex taħdem ma' Verniċ Cache
9. F'din it-taqsima, ser nuru kif tikkonfigura Varnish Cache biex taħdem quddiem Nginx. B'mod awtomatiku Nginx jisma' fuq il-port 80, normalment kull blokk tas-server (jew host virtwali) huwa kkonfigurat biex jisma' fuq dan il-port.
Pereżempju, agħti ħarsa lejn il-blokk default tas-server nginx konfigurat fil-fajl tal-konfigurazzjoni prinċipali (/etc/nginx/nginx.conf).
# vi /etc/nginx/nginx.conf
Fittex is-sezzjoni tal-blokk tas-server kif muri fil-screenshot li ġej.
10. Biex tħaddem Vernish quddiem Nginx, għandek tibdel il-port default Nginx minn 80 għal 8080 (jew kwalunkwe port ieħor tal-għażla tiegħek).
Dan għandu jsir fil-fajls kollha tal-konfigurazzjoni tal-blokki tas-server futuri (ġeneralment maħluqa taħt /etc/nginx/conf.d/) għal siti jew applikazzjonijiet tal-web li trid isservi permezz tal-Verniċ.
Pereżempju, il-blokk tas-server għas-sit tat-test tagħna tecmint.lan
huwa /etc/nginx/conf.d/tecmint.lan.conf u għandu l-konfigurazzjoni li ġejja.
server { listen 8080; server_name www.tecmint.lan; root /var/www/html/tecmint.lan/; location / { } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } }
Importanti: Ftakar li tiddiżattiva l-blokk default tas-server billi tikkummenta t-taqsima tal-konfigurazzjoni tagħha fil-fajl /etc/nginx/nginx.conf kif muri fil-screenshot li ġej. Dan jippermettilek tibda tħaddem websajts/applikazzjonijiet oħra fuq is-server tiegħek, inkella, Nginx dejjem se jidderieġi t-talbiet lill-blokk tas-server default.
11. Ladarba l-konfigurazzjoni titlesta, iċċekkja l-fajl tal-konfigurazzjoni għal xi żbalji u terġa 'tibda s-servizz Nginx biex tapplika bidliet riċenti.
# nginx -t # systemctl restart nginx
12. Sussegwentement, biex nirċievu talbiet HTTP mill-klijenti, għandna bżonn nikkonfiguraw Vernish biex jaħdem fuq il-port 80. B'differenza minn verżjonijiet preċedenti ta' Varnish Cache fejn din il-bidla saret fil-fajl tal-ambjent Vernish (li issa huwa deprecated), fil-verżjoni 6.0 u hawn fuq.
Irridu nagħmlu l-bidla meħtieġa fil-fajl tas-servizz tal-Verniċ. Mexxi l-kmand li ġej biex tiftaħ il-fajl tas-servizz xieraq għall-editjar.
# systemctl edit --full varnish
Sib il-linja li ġejja u ibdel il-valur tas-swiċċ -a
, li jispeċifika l-indirizz tas-smigħ u l-port. Issettja l-port għal 80 kif muri fil-screenshot li ġej.
Innota jekk ma tispeċifikax indirizz, varnishd se jisma' fuq l-interfaces IPv4 u IPv6 disponibbli kollha attivi fuq is-server.
ExecStart=/usr/sbin/varnishd -a :80 -f /etc/varnish/default.vcl -s malloc,256m
Issejvja l-bidliet fil-fajl u oħroġ.
13. Sussegwentement, għandek bżonn tiddefinixxi s-server backend li Vernish se jżur biex iġib il-kontenut minnu. Dan isir fil-fajl tal-konfigurazzjoni prinċipali tal-Verniċ.
# vi /etc/varnish/default.vcl
Fittex is-sezzjoni default tal-konfigurazzjoni backend u ibdel is-sekwenza \default għal server1 (jew kwalunkwe isem tal-għażla tiegħek biex tirrappreżenta s-server tal-oriġini tiegħek). Imbagħad issettja l-port għal 8080 (jew il-port isimgħu Nginx li ddefinijt fil-blokk tas-server tiegħek) .
backend server1 { .host = "127.0.0.1"; .port = "8080"; }
Għal din il-gwida, qed inħaddmu Varnish u Nginx fuq l-istess server. Jekk is-server tal-web Nginx tiegħek qed jaħdem fuq host differenti. Per eżempju, server ieħor bl-indirizz 10.42.0.247, imbagħad issettja l-parametru .host
kif muri.
backend server1 { .host = "10.42.0.247"; .port = "8080"; }
Issejvja l-fajl u agħlaqha.
14. Sussegwentement, għandek bżonn terġa 'tagħbija l-konfigurazzjoni tal-maniġer systemd minħabba l-bidliet riċenti fil-fajl tas-servizz tal-Verniċ, imbagħad terġa' tibda s-servizz tal-Verniċ biex tapplika l-bidliet kif ġej.
# systemctl daemon-reload # systemctl restart varnish
15. Issa ikkonferma li Nginx u Varnish qed jisimgħu fuq is-sokits TCP konfigurati.
# ss -tpln
Pass 4: Ittestja s-Setup ta 'Nginx Varnish Cache
16. Sussegwentement, ivverifika li l-paġni tal-web qed jiġu moqdija permezz tal-Verniċ Cache kif ġej. Iftaħ web browser u naviga billi tuża s-server IP jew FDQN kif muri fil-screenshot li ġej.
http://www.tecmin.lan OR http://10.42.0.144
17. Alternattivament, uża l-kmand curl kif muri. Uża l-indirizz IP tas-server tiegħek jew l-FQDN tal-websajt jew uża 127.0.0.1 jew localhost jekk qed tittestja lokalment.
# curl -I http:///www.tecmint.lan
Utilitajiet Utli tal-Amministrazzjoni tal-Cache tal-Verniċ
18. F'din it-taqsima finali, aħna ser niddeskrivu fil-qosor xi wħud mill-programmi ta 'utilità utli li Varnish Cache vapuri magħhom, li tista' tuża biex tikkontrolla varnishd, taċċessa zkuk fil-memorja u statistika ġenerali u aktar.
varnishadm utilità biex tikkontrolla istanza ta' Verniċ li qed taħdem. Jistabbilixxi konnessjoni CLI għal varnishd. Pereżempju, tista 'tużaha biex telenka backends konfigurati kif muri fil-screenshot li ġej (aqra man varnishadm għal aktar informazzjoni).
# varnishadm varnish> backend.list
L-utilità varnishlog tipprovdi aċċess għal dejta speċifika għat-talba. Joffri informazzjoni dwar klijenti u talbiet speċifiċi (aqra man varnishlog għal aktar informazzjoni).
# varnishlog
Varnishstat magħruf ukoll bħala statistika tal-verniċ, li jagħtik daqqa t'għajn lejn il-prestazzjoni attwali ta' Varnish billi tipprovdi aċċess għal statistika fil-memorja bħal hits u miss fil-cache, informazzjoni dwar il-ħażna, ħjut maħluqa, oġġetti mħassra (aqra man varnishstat għal aktar informazzjoni) .
# varnishstat
Utilità varnishtop taqra r-reġistri tal-memorja kondiviża u tippreżenta lista aġġornata kontinwament tal-entrati tal-log li jseħħu l-aktar komuni (aqra man varnishtop għal aktar informazzjoni).
# varnishtop
Utilità tal-vernishhist (istorja tal-verniċ) teżamina r-reġistri tal-verniċ u toħroġ istogramma kontinwament aġġornata li turi d-distribuzzjoni tal-aħħar n talbiet bl-ipproċessar tagħhom (aqra man varnishhist għal aktar informazzjoni).
# varnishhist
Dak kollox! F'din il-gwida, urejna kif tinstalla Varnish Cache u tħaddem quddiem is-server HTTP Nginx biex tħaffef il-kunsinna tal-kontenut tal-web f'CentOS/RHEL 8.
Kwalunkwe ħsibijiet jew mistoqsijiet dwar din il-gwida jistgħu jiġu kondiviżi permezz tal-formola ta 'feedback hawn taħt. Għal aktar informazzjoni, aqra d-dokumentazzjoni tal-Varnish Cache.
L-iżvantaġġ ewlieni tal-Verniċ Cache huwa n-nuqqas ta 'appoġġ indiġenu għall-HTTPS. Biex tippermetti HTTPS fuq is-sit web/applikazzjoni tiegħek, għandek bżonn tikkonfigura proxy ta’ terminazzjoni SSL/TLS biex taħdem flimkien ma’ Varnish Cache biex tipproteġi s-sit tiegħek. Fl-artiklu li jmiss tagħna, se nuru kif nippermettu HTTPS għal Varnish Cache billi tuża Hitch fuq CentOS/RHEL 8.