Yadda ake Shigar da Varnish Cache don Apache akan CentOS/RHEL 8


Varnish Cache kyauta ce ta budewa, mai hanzarta aikace-aikacen gidan yanar gizo. Wakilin HTTP ne mai saurin juyawa wanda yake adana abun ciki don saurin aikin sabar yanar gizan ku, ta hanyar adana abun cikin yanar gizo a cikin kwakwalwar uwar garke - a cikin ma'ajin ajiya. An saita shi don gudana a gaban sabar asali kamar su Apache (HTTPD) webserver.

Lokacin da abokin ciniki ya nema don abun ciki, Varnish ya karɓi buƙatar HTTP, ya aika da buƙatar zuwa asalin uwar garken, ya ɓoye abubuwan da aka dawo, kuma ya amsa ga buƙatar abokin ciniki. Lokaci na gaba da abokin harka ya nemi abu guda, Varnish zai yi masa hidima daga ma'ajin. Wannan hanyar, yana rage lokacin amsawa da amfani da bandwidth na hanyar sadarwa akan buƙatun kwatankwacin gaba.

Hakanan Varnish yana aiki azaman hanyar router na buƙatar HTTP, katangar aikace-aikacen gidan yanar gizo, ma'aunin ɗaukar nauyi, da ƙari. An saita shi ta amfani da Harshen Tsarin Tsarin Varnish mai sassauƙa (VCL) wanda zai iya zama mai amfani ta amfani da Varnish Modules (wanda aka sani da VMODs), yana tallafawa Edge Side Includes (ESL), Gzip compression and decompression, and more more.

A cikin wannan labarin, zaku koyi yadda ake girka sabar yanar gizo ta Apache HTTPD da Varnish Cache 6 akan sabar CentOS/RHEL 8 sabo, gami da daidaita Varnish don gudana a gaban sabar HTTPD.

  • Uwar garken tare da Shigar da CentOS 8
  • Uwar garke tare da kunna rajistar Red Hat akan tsarinku.

Mataki 1: Shigar da Sabar Yanar Gizon Apache akan CentOS/RHEL 8

1. Fara ta hanyar ɗaukaka duk kayan aikin software da aka sanya akan tsarin kamar haka ta amfani da umarnin DNF.

# dnf update

2. Na gaba, gudanar da umarni mai zuwa don shigar da sabar yanar gizo ta Apache HTTP daga wurin ajiyar AppStream.

# dnf install httpd

3. Da zaran an gama girke-girke, fara aikin httpd, a ba shi damar fara aiki kai tsaye yayin boot system, sannan a duba matsayinta don tabbatar da cewa yana aiki da aiki, ta amfani da systemctl command.

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

4. Ta hanyar tsoho CentOS/RHEL 8 ya hada da katangar da aka kulle gaba daya (gudu firewall-cmd -state don tabbatarwa). Dole ne ku buɗe damar zuwa sabis na HTTP a cikin katangar don bawa masu amfani damar shiga yanar gizo ko aikace-aikacen da ke gudana akan HTTP, kuma ku sake loda saitunan wuta don amfani da sabbin canje-canje.

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

Mataki na 2: Shigar da 6.4 na Varnish a kan CentOS/RHEL 8

5. Yanzu da sabar yanar gizo ta Apache tana gudana, zaku iya ci gaba da sanya Varnish Cache akan tsarin ta amfani da umarni mai zuwa.

# dnf module install varnish

6. Bayan cin nasarar shigarwa, zaku iya tabbatar da sigar Varnish ɗin da aka sanya akan tsarin ku.

# varnishd -V

7. Gaba, babban zartarwa an sanya shi azaman/usr/sbin/varnishd. Hakanan, ana adana fayilolin sanyi na Varnish a ƙarƙashin adireshin/sauransu/varnish, inda:

  • /etc/varnish/default.vcl - shine babban fayil ɗin daidaita varnish wanda aka rubuta ta amfani da VCL.
  • /sauransu/varnish/sirri - shine fayil ɗin ɓoyayyen varnar.

8. Yanzu fara sabis na varnish, a yanzu, ba shi damar farawa ta atomatik yayin fara aiki da tsarin idan za'a sake farawa sabar sannan a bincika matsayinta don tabbatar da cewa ta fara aiki kamar haka.

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

Mataki na 3: Sanya Apache don Aiki tare da Varnish Cache

9. Yanzu lokacinsa ne don saita Varnish Cache don gudana a gaban sabis ɗin Apache. Ta hanyar tsoho an saita sabar Apache don saurara akan tashar jirgin ruwa 80, wannan an bayyana shi a cikin babban fayil ɗin daidaitawa /etc/httpd/conf/httpd.conf.

Bude shi don gyara ta amfani da editan rubutun da kuka fi so.

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

Nemi alamar Saurari. Don gudanar da Varnish a gaban sabar Apache, ya kamata ka canza tashar tashar 80 zuwa 8080 (ko kowane tashar da kake so) kamar yadda aka nuna a cikin hoton da ke tafe.

Za'a ƙara wannan tashar azaman azaman tashar sabar uwar garken a cikin fayil ɗin sanyi na Varnish daga baya.

Hakanan, daidaiton mai masaukin baki na kowane rukunin yanar gizo/aikace-aikacen da zasuyi aiki ta hanyar Varnish yakamata a saita su don sauraron tashar jirgin sama da ke sama. Anan ne daidaitawar shafin gwajin mu (/etc/httpd/conf.d/tecmint.lan.conf).

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

Mahimmi: Don hana tsoffin shafin gwajin uwar garken Apache HTTP, yi tsokaci kan dukkan layukan da ke cikin file /etc/httpd/conf.d/welcome.conf ko share fayil ɗin kawai.

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

10. Na gaba, gwada tsarin daidaitawar httpd na kowane kuskure. Idan yana da kyau, sake farawa da sabis na httpd don amfani da sababbin canje-canje.

# httpd -t
# systemctl restart httpd

11. Don tura Varnish a gaban HTTPD, kawai kuna buƙatar daidaita shi don sauraron buƙatun abokan ciniki a cikin tashar tashar HTTP ta 80 kamar yadda aka bayyana a ƙasa.

Ka lura cewa a cikin Varnish Cache 6.0 kuma mafi girma, dole ne ka saita uwar garken tashar tashar jiragen ruwa yana sauraro a cikin fayil ɗin sabis na Varnish don tsari. Da farko, bude shi don gyara.

# systemctl edit --full  varnish

Nemi layin ExecStart, sannan canza darajar -a kamar yadda aka nuna a cikin hoton allo mai zuwa.

Mahimmanci, idan baku tantance adireshin ba, varnishd zai saurari duk samfuran IPv4 da IPv6 da ke aiki akan sabar.

ExecStart=/usr/sbin/varnishd -a :80 -f /etc/varnish/default.vcl -s malloc,256m

Adana canje-canje a cikin fayil ɗin kuma fita.

12. Yanzu, kuna buƙatar saita sabar asali, wanda aka sani a cikin kalmomin Varnish azaman baya. Sabar ce ke fahimtar HTTP, tattaunawa ta Varnish da ita, don ɗora abun ciki - httpd a wannan yanayin. An daidaita shi a cikin babban fayil ɗin sanyi /etc/varnish/default.vcl.

# vi /etc/varnish/default.vcl 

Akwai sashen daidaita bayanan baya wanda ake kira tsoho. Kuna iya canza\"tsoho" zuwa uwar garken1 (ko kowane suna da kuka zaba don saduwa da yanayin ku) .Ta tsoho, mai gabatar da sakon yana nuna yankin, bisa zaton cewa uwar garken baya tana gudana akan localhost.

Sa'annan saita tashar zuwa 8080 (tashar da kuka bayyana a cikin Apache virtual host config file) kamar yadda aka nuna a cikin sikirin.

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

Idan sabar bayanku tana gudana a kan wani runduna daban, misali, wani sabar mai adireshi 10.42.1.10, to mai sigar rundunar zai nuna wannan adireshin IP.

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

Adana fayil ɗin kuma rufe shi.

13. Bayan yin duk canje-canjen da ake buƙata game da Varnish, sake loda tsarin sarrafa manajan don nuna sabon canje-canje a cikin fayil ɗin sabis ɗin Varnish kuma kuma sake kunna sabis ɗin Varnish don amfani da canje-canjen gaba ɗaya.

# systemctl daemon-reload
# systemctl restart varnish

14. A wannan gaba, Varnish da Apache yanzu yakamata su saurara akan tashar 80 da 8080 bi da bi. Kuna iya tabbatar da wannan ta amfani da umarnin ƙididdigar soket.

# ss -tpln

Mataki na 4: Gwajin Katin Varnish da Saitin Apache

14. Don gwada saitin Varnish Cache-HTTPD, buɗe burauzar yanar gizo, kuma yi amfani da sabar IP ko FQDN kamar yadda aka nuna a cikin hoton da ke tafe.

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

Sannan bincika idan ana amfani da shafukan yanar gizo ta hanyar Varnish Cache kamar haka. Bincika kanun bayanan HTTP ta danna-dama a shafin yanar gizon da aka nuna, zaɓi Duba don buɗe kayan aikin masu haɓaka, sannan danna shafin yanar gizo, kuma sake shigar da shafin. Sannan zaɓi buƙata don duba kanun HTTP don tabbatar da wannan kamar yadda aka nuna a cikin hoton da ke tafe.

Madadin haka, zaku iya gudanar da wannan umarnin curl mai zuwa don tabbatar da shi.

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

Shirye-shiryen amfani mai amfani na Varnish Cache

15. Bari mu ƙare wannan jagorar ta hanyar duban wasu shirye-shirye masu amfani waɗanda rabon Varnish Cache yazo dasu. Sun haɗa da abubuwan amfani don gudanar da ayyukan ɓoye na varnish, da nuna cikakkun bayanan bayanan rajista, da duba ƙididdigar aikin varnish kamar yadda aka bayyana a ƙasa.

Na farko shine varnishadm wanda ake amfani dashi don gudanar da misalin Varnish mai gudana. Yana kafa haɗin keɓaɓɓen haɗin kerawa zuwa varnishd. Zai iya shafar misalin Varnish mai gudana ta hanyar farawa da dakatar da varnishd, canza sigogin sanyi, sake loda VCL, jera bayanan baya, da ƙari.

# varnishadm
> backend.list

Don ƙarin bayani, karanta man varnishadm.

Shirin na gaba shine varnishlog wanda ake amfani dashi don samun damar takamaiman bayanan buƙata (watau bayani game da takamaiman abokan ciniki da buƙatun). Yana bayar da bayanai masu yawa, saboda haka yawanci ya zama dole a tace shi.

# varnishlog

Don ƙarin bayani, karanta mutumin varnishlog.

Hakanan muna da varnishstat (ƙididdigar varnish) wanda ake amfani dashi don samun damar ƙididdigar gaba ɗaya kamar yawan buƙatun duka, yawan abubuwa, da ƙari.

# varnishstat

Don ƙarin bayani, karanta mutumin varnishstat.

Sannan muna da varnishtop wanda mai amfani wanda ke karanta kundin Varnish kuma yana gabatar da jerin abubuwan da aka sabunta akai-akai na shigarwar log ɗin da galibi ke faruwa.

# varnishtop 

Don ƙarin bayani, karanta mutumin varnishtop.

Wani amfani mai amfani shine varnishhist (tarihin varnish) mai amfani yana karanta rajistan ayyukan Varnish kuma yana gabatar da cigaban tarihin wanda yake nuna rarraba buƙatun N na ƙarshe ta hanyar sarrafa su.

# varnishhist

Don ƙarin bayani, karanta mutumin varnishhist.

A can kuna da shi! Kunyi nasarar tura Varnish Cache don hanzarta abun cikin aikace-aikacen gidan yanar gizonku wanda aka yi amfani da shi ta amfani da Apache HTTP Server akan CentOS/RHEL 8.

Idan kuna da kowace tambaya game da wannan batun ko tunanin da zaku raba, yi amfani da fom ɗin da ke ƙasa. Duba takardun Varnish Cache 6.0 don ƙarin bayani.

Idan kana son kunna HTTPS akan rukunin yanar gizonku, bincika labarin mu na gaba, wanda zai nuna yadda ake kunna SSL/TLS don Varnish Cache ta amfani da Hitch akan CentOS/RHEL 8.