Kif Tinstalla Varnish Cache għal Apache fuq CentOS/RHEL 8


Varnish Cache huwa sors miftuħ b'xejn, aċċeleratur ta 'applikazzjonijiet tal-web moderni u ta' prestazzjoni għolja. Huwa proxy HTTP reverse veloċi li jaħżen il-kontenut biex iħaffef il-prestazzjoni tas-server tal-web tiegħek, billi jaħżen il-kontenut tal-web fil-memorja tas-server - f'cache. Huwa kkonfigurat biex jaħdem quddiem server ta 'oriġini bħal webserver Apache (HTTPD).

Meta klijent jitlob għall-kontenut, Varnish jaċċetta t-talba HTTP, jibgħat it-talba lis-server tal-oriġini, jaħbat fil-caches l-oġġetti rritornati, u jwieġeb għat-talba tal-klijent. Il-ħin li jmiss li l-klijent jitlob għall-istess kontenut, Verniċ se jservih mill-cache. Dan il-mod, inaqqas il-ħin tar-rispons u l-konsum tal-bandwidth tan-netwerk fuq talbiet ekwivalenti futuri.

Il-verniċ jaħdem ukoll bħala router tat-talba HTTP, firewall tal-applikazzjoni tal-web, load balancer, u aktar. Huwa kkonfigurat bl-użu tal-Lingwa ta' Konfigurazzjoni tal-Verniċ flessibbli (VCL) li hija estensibbli bl-użu ta' Moduli tal-Verniċ (magħrufa wkoll bħala VMODs), jappoġġja għal Edge Side Includes (ESL), kompressjoni u dekompressjoni Gzip, u ħafna aktar.

F'dan l-artikolu, titgħallem kif tinstalla s-server tal-web Apache HTTPD u Varnish Cache 6 fuq server ġdid CentOS/RHEL 8, inkluż il-konfigurazzjoni ta 'Verniċ biex jaħdem quddiem is-server HTTPD.

  • Server b'Installazzjoni ta' CentOS 8
  • Server b'abbonament ta' Red Hat attivat fis-sistema tiegħek.

Pass 1: Installazzjoni ta 'Apache Web Server fuq CentOS/RHEL 8

1. Ibda billi taġġorna l-pakketti kollha tas-softwer installati fis-sistema kif ġej billi tuża l-kmand DNF.

# dnf update

2. Sussegwentement, mexxi l-kmand li ġej biex tinstalla s-server tal-web Apache HTTP mir-repożitorju AppStream.

# dnf install httpd

3. Hekk kif titlesta l-installazzjoni, ibda s-servizz httpd, ppermettih jibda awtomatikament waqt il-boot tas-sistema, u ċċekkja l-istatus tiegħu biex tikkonferma li hija taħdem u taħdem, billi tuża l-kmand systemctl.

# systemctl start httpd
# systemctl enable httpd
# systemctl status httpd

4. B'mod awtomatiku CentOS/RHEL 8 jinkludi firewall kompletament imsakkar (run firewall-cmd –state biex tikkonferma). Int trid tiftaħ aċċess għas-servizz HTTP fil-firewall biex tippermetti lill-utenti jaċċessaw websajts jew applikazzjonijiet li jaħdmu fuq HTTP, u wkoll tagħbija mill-ġdid is-settings tal-firewalld biex tapplika l-bidliet il-ġodda.

# firewall-cmd --zone=public --permanent --add-service=http
# firewall-cmd --reload

Pass 2: Installazzjoni tal-Verniċ Cache 6.4 fuq CentOS/RHEL 8

5. Issa li s-server tal-web Apache qed jaħdem, tista 'tipproċedi aktar biex tinstalla Varnish Cache fuq is-sistema billi tuża l-kmand li ġej.

# dnf module install varnish

6. Wara installazzjoni b'suċċess, tista 'tivverifika l-verżjoni tal-Verniċ installata fis-sistema tiegħek.

# varnishd -V

7. Sussegwentement, l-eżekutibbli prinċipali huwa installat bħala /usr/sbin/varnishd. Ukoll, il-fajls tal-konfigurazzjoni tal-Verniċ huma maħżuna taħt id-direttorju /etc/vernish, fejn:

  • /etc/varnish/default.vcl – huwa l-fajl ewlieni tal-konfigurazzjoni tal-verniċ miktub bl-użu ta' VCL.
  • /etc/varnish/secret – huwa l-fajl sigriet tal-verniċ.

8. Issa ibda s-servizz tal-verniċ, għalissa, ippermettilu jibda awtomatikament waqt il-boot tas-sistema f'każ ta 'startjar mill-ġdid tas-server u ċċekkja l-istatus tiegħu biex jiżgura li jibda jaħdem kif ġej.

# systemctl start varnish
# systemctl enable varnish
# systemctl status varnish

Pass 3: Konfigurazzjoni ta 'Apache biex taħdem ma' Varnish Cache

9. Issa wasal iż-żmien li tikkonfigura Varnish Cache biex taħdem quddiem is-servizz Apache. B'default is-server Apache huwa kkonfigurat biex jisma' fuq il-port 80, dan huwa definit fil-fajl tal-konfigurazzjoni prinċipali /etc/httpd/conf/httpd.conf.

Iftaħha għall-editjar billi tuża l-editur tat-test favorit tiegħek.

# vi /etc/httpd/conf/httpd.conf

Fittex għall-parametru Isma. Biex tħaddem Vernish quddiem is-server Apache, għandek tibdel il-port default 80 għal 8080 (jew kwalunkwe port ieħor tal-għażla tiegħek) kif muri fil-screenshot li ġej.

Dan il-port se jiżdied bħala l-port tas-server backend fil-fajl tal-konfigurazzjoni tal-Verniċ aktar tard.

Ukoll, il-konfigurazzjoni tal-host virtwali għal kull websajt/applikazzjoni li se sservi permezz tal-Verniċ għandha tkun ikkonfigurata biex tisma 'l-port ta' hawn fuq. Hawnhekk hawn il-konfigurazzjoni għas-sit tat-test tagħna (/etc/httpd/conf.d/tecmint.lan.conf).

<VirtualHost *:8080>
    DocumentRoot "/var/www/html/tecmint.lan/"
    ServerName www.tecmint.lan
    # Other directives here
</VirtualHost>

Importanti: Biex tevita li l-paġna tat-test tas-server HTTP Apache default qatt tintuża, ikkummenta l-linji kollha fil-fajl /etc/httpd/conf.d/welcome.conf jew sempliċement ħassar il-fajl.

# rm /etc/httpd/conf.d/welcome.conf 

10. Sussegwentement, ittestja s-sintassi tal-konfigurazzjoni httpd għal kwalunkwe żball. Jekk huwa OK, ibda mill-ġdid is-servizz httpd biex tapplika l-bidliet ġodda.

# httpd -t
# systemctl restart httpd

11. Biex tuża Verniċ quddiem HTTPD, sempliċiment għandek bżonn tikkonfigurah biex tisma' t-talbiet tal-klijenti fil-port HTTP default 80 kif spjegat hawn taħt.

Innota li fil-Verniċ Cache 6.0 u ogħla, trid issettja s-server tal-verniċ tal-port li jisma' fil-fajl tas-servizz tal-Verniċ għal systemd. L-ewwel, tiftaħha għall-editjar.

# systemctl edit --full  varnish

Fittex il-linja ExecStart, imbagħad ibdel il-valur tas-swiċċ -a (li jispeċifika l-verniċ jisimgħu l-indirizz u l-port) minn :6081 għal :80 kif indikat fil-screenshot li ġej.

Importanti, 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ġ.

12. Issa, għandek bżonn tikkonfigura s-server tal-oriġini, magħruf fit-terminoloġija tal-Verniċ bħala backend. Huwa s-server li jifhem HTTP, Varnish jitkellem, biex iġib il-kontenut - httpd f'dan il-każ. Huwa kkonfigurat fil-fajl tal-konfigurazzjoni prinċipali /etc/varnish/default.vcl.

# vi /etc/varnish/default.vcl 

Hemm taqsima default tal-konfigurazzjoni backend imsejħa default. Tista' tibdel \default għal server1 (jew kwalunkwe isem tal-għażla tiegħek biex tilħaq l-istandards tal-ambjent tiegħek). B'mod awtomatiku, il-parametru tal-host jindika l-localhost, fuq suppożizzjoni li s-server backend qed jaħdem fuq il-localhost.

Imbagħad issettja l-port għal 8080 (il-port li ddefinijt fil-fajl tal-konfigurazzjoni tal-host virtwali Apache) kif muri fil-screenshot.

backend server1 {
    .host = "127.0.0.1";
    .port = "8080";
}

Jekk is-server backend tiegħek qed jaħdem fuq host differenti, pereżempju, server ieħor bl-indirizz 10.42.1.10, allura l-parametru ospitanti għandu jindika dan l-indirizz IP.

backend server1 {
    .host = "10.42.1.10";
    .port = "8080";
}

Issejvja l-fajl u agħlaqha.

13. Wara li tagħmel il-bidliet kollha meħtieġa dwar il-Verniċ, erġa' tagħbija l-konfigurazzjoni tal-maniġer tas-systemd biex tirrifletti l-bidliet il-ġodda fil-fajl tas-servizz tal-Verniċ u terġa' tibda wkoll is-servizz tal-Verniċ biex tapplika l-bidliet ġenerali.

# systemctl daemon-reload
# systemctl restart varnish

14. F'dan il-punt, Verniċ u Apache issa għandhom jisimgħu fuq il-port 80 u 8080 rispettivament. Tista' tikkonferma dan billi tuża l-kmand tal-istatistika tas-socket.

# ss -tpln

Pass 4: Ittestjar Vernish Cache u Apache Setup

14. Biex tittestja s-setup tal-Varnish Cache-HTTPD, iftaħ web browser, u naviga billi tuża l-IP tas-server jew l-FQDN kif muri fil-screenshot li ġej.

http://10.42.0.144
OR
http://www.tecmin.lan

Imbagħad iċċekkja jekk il-paġni tal-web humiex qed jiġu moqdija permezz tal-Varnish Cache kif ġej. Iċċekkja l-intestaturi HTTP billi tikklikkja bil-lemin fuq il-paġna web murija, agħżel Spezzjona biex tiftaħ l-għodod tal-iżviluppatur, imbagħad ikklikkja fuq it-tab tan-Netwerk, u erġa' tagħbija l-paġna. Imbagħad agħżel talba biex tara l-headers HTTP biex tikkonferma dan kif muri fil-screenshot li ġej.

Alternattivament, tista 'taħdem il-kmand tal-curl li ġej biex tivverifikah.

# curl -I http:///10.42.0.144
OR
#curl -I http:///www.tecmint.lan

Programmi Utli ta' Utilità tal-Cache tal-Verniċ

15. Ejja ntemmu din il-gwida billi nħarsu lejn uħud mill-programmi utli li d-distribuzzjoni Varnish Cache tiġi magħhom. Dawn jinkludu utilitajiet għall-amministrazzjoni tal-cache tal-verniċ, il-wiri ta 'rekords ta' log dettaljati, u tara l-istatistika tal-prestazzjoni tal-verniċ kif deskritt hawn taħt.

L-ewwel huwa varnishadm li jintuża biex jamministra istanza ta' Verniċ li taħdem. Hija tistabbilixxi konnessjoni ta 'interface tal-linja tal-kmand għal varnishd. Jista 'jaffettwa eżempju li jaħdem ta' Verniċ billi jibda u jwaqqaf varnishd, jibdel il-parametri tal-konfigurazzjoni, jerġa 'jikkarga l-VCL, jelenka backends, u aktar.

# varnishadm
> backend.list

Għal aktar informazzjoni, aqra man varnishadm.

Il-programm li jmiss huwa varnishlog li jintuża biex jaċċessa dejta speċifika għat-talba (jiġifieri informazzjoni dwar klijenti u talbiet speċifiċi). Jipprovdi ammonti kbar ta 'informazzjoni, għalhekk huwa ġeneralment meħtieġ li tiġi ffiltrata.

# varnishlog

Għal aktar informazzjoni, aqra l-man varnishlog.

Għandna wkoll varnishstat (statistika tal-verniċ) li tintuża biex taċċessa statistika ġenerali bħan-numru ta 'talbiet totali, numru ta' oġġetti, u aktar.

# varnishstat

Għal aktar informazzjoni, aqra l-man varnishstat.

Imbagħad għandna varnishtop li utilità li taqra r-reġistru tal-Verniċ u tippreżenta lista aġġornata kontinwament tal-entrati tal-log li jseħħu l-aktar komuni.

# varnishtop 

Għal aktar informazzjoni, aqra l-bniedem varnishtop.

Utilità utli oħra hija l-utilità varnishhist (istorja tal-verniċ) taqra zkuk tal-Verniċ u tippreżenta istogramma kontinwament aġġornata li turi d-distribuzzjoni tal-aħħar N talbiet bl-ipproċessar tagħhom.

# varnishhist

Għal aktar informazzjoni, aqra l-bniedem varnishhist.

Hemmhekk għandek! Int skjerat b'suċċess Varnish Cache biex taċċellera l-kontenut tal-applikazzjoni tal-web tiegħek serva bl-użu ta 'Apache HTTP Server fuq CentOS/RHEL 8.

Jekk għandek xi mistoqsijiet dwar dan is-suġġett jew ħsibijiet x'taqsam, uża l-formola ta' feedback hawn taħt. Iċċekkja d-dokumentazzjoni Varnish Cache 6.0 għal aktar informazzjoni.

Jekk trid tattiva l-HTTPS fuq is-sit tiegħek, iċċekkja l-artiklu li jmiss tagħna, li se juri kif tattiva SSL/TLS għal Varnish Cache billi tuża Hitch fuq CentOS/RHEL 8.