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.

  1. Kif Tinstalla LEMP Server fuq CentOS 8
  2. 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.