Bii o ṣe le Fi Kaṣe Varnish sii fun Afun lori CentOS/RHEL 8


Kaṣe Varnish jẹ orisun ṣiṣi ọfẹ, imuyara ohun elo wẹẹbu ati iṣẹ giga. O jẹ aṣoju HTTP yiyipada yiyara ti o tọju akoonu lati yarayara iṣẹ olupin rẹ, nipa titoju akoonu wẹẹbu ni iranti olupin - ni kaṣe kan. O ti ni atunto lati ṣiṣẹ ni iwaju olupin orisun bi Apache (HTTPD) webserver.

Nigbati alabara kan ba beere fun akoonu, Varnish gba ibeere HTTP, firanṣẹ ibeere si olupin orisun, tọju awọn ohun ti o pada, ati awọn esi si ibeere alabara. Nigbamii ti alabara beere fun akoonu kanna, Varnish yoo sin lati ibi ipamọ. Ni ọna yii, o dinku akoko idahun ati agbara bandiwidi nẹtiwọọki lori awọn ibeere deede ọjọ iwaju.

Varnish tun ṣiṣẹ bi olulana ibeere HTTP, ogiriina ohun elo wẹẹbu, iwọntunwọnsi fifuye, ati diẹ sii. O ti wa ni tunto nipa lilo Eda Iṣeto Varnish rirọ (VCL) eyiti o jẹ extensible nipa lilo Awọn modulu Varnish (eyiti a tun mọ ni VMODs), awọn atilẹyin fun Edge Side Includes (ESL), Gzip compression and decompression, and much more.

Ninu nkan yii, iwọ yoo kọ bi o ṣe le fi sori ẹrọ olupin ayelujara Apache HTTPD ati Varnish Cache 6 lori olupin CentOS/RHEL 8 tuntun, pẹlu tito leto Varnish lati ṣiṣẹ ni iwaju olupin HTTPD.

  • Olupin kan pẹlu fifi sori CentOS 8
  • Olupin kan pẹlu ṣiṣe alabapin Red Hat lori ẹrọ rẹ.

Igbesẹ 1: Fifi Server Web Apache sori CentOS/RHEL 8

1. Bẹrẹ nipasẹ mimu gbogbo awọn idii sọfitiwia ti a fi sori ẹrọ sori ẹrọ bii atẹle nipa lilo aṣẹ DNF.

# dnf update

2. Nigbamii, ṣiṣe aṣẹ atẹle lati fi sori ẹrọ olupin ayelujara Apache HTTP lati ibi ipamọ AppStream.

# dnf install httpd

3. Ni kete ti fifi sori ẹrọ ba ti pari, bẹrẹ iṣẹ httpd, jẹ ki o bẹrẹ laifọwọyi lakoko bata eto, ati ṣayẹwo ipo rẹ lati jẹrisi pe o ti n ṣiṣẹ ati ṣiṣe, ni lilo aṣẹ systemctl.

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

4. Nipa aiyipada CentOS/RHEL 8 pẹlu ogiriina ti o ni titiipa ni kikun (ṣiṣe ogiriina-cmd -state lati jẹrisi). O gbọdọ ṣii iwọle si iṣẹ HTTP ni ogiriina lati gba awọn olumulo laaye lati wọle si awọn oju opo wẹẹbu tabi awọn ohun elo ti n ṣiṣẹ lori HTTP, ati tun tun gbe awọn eto ina pada lati lo awọn ayipada tuntun.

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

Igbesẹ 2: Fifi Kaṣe Varnish 6.4 sori CentOS/RHEL 8

5. Nisisiyi pe olupin ayelujara Apache n ṣiṣẹ, o le tẹsiwaju siwaju sii lati fi Kaṣe Varnish sori ẹrọ nipa lilo pipaṣẹ atẹle.

# dnf module install varnish

6. Lẹhin fifi sori aṣeyọri, o le rii daju ẹya ti Varnish ti a fi sori ẹrọ rẹ.

# varnishd -V

7. Nigbamii ti, a ti fi nkan akọkọ ṣiṣẹ bi/usr/sbin/varnishd. Pẹlupẹlu, awọn faili iṣeto Varnish ti wa ni fipamọ labẹ itọsọna/ati be be lo/varnish, nibiti:

  • /etc/varnish/default.vcl - ni faili iṣeto varnish akọkọ ti a kọ nipa lilo VCL.
  • /ati be be/varnish/aṣiri - ni faili aṣiri varnish.

8. Bayi bẹrẹ iṣẹ varnish, fun bayi, jẹ ki o bẹrẹ ni adarọ lakoko fifa eto ni idi ti olupin tun bẹrẹ ati ṣayẹwo ipo rẹ lati rii daju pe o n ṣiṣẹ ati ṣiṣe bi atẹle.

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

Igbesẹ 3: Tito leto Afun lati Ṣiṣẹ pẹlu Kaṣe Varnish

9. Bayi akoko rẹ lati tunto Kaṣe Varnish lati ṣiṣẹ ni iwaju iṣẹ Apache. Nipa aiyipada olupin Apache tunto lati tẹtisi lori ibudo 80, eyi ti ṣalaye ninu faili iṣeto akọkọ /etc/httpd/conf/httpd.conf.

Ṣii fun ṣiṣatunkọ nipa lilo olootu ọrọ ayanfẹ rẹ.

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

Wa fun paramita Tẹtisi. Lati ṣiṣe Varnish ni iwaju olupin Apache, o yẹ ki o yipada ibudo aiyipada 80 si 8080 (tabi eyikeyi ibudo miiran ti o fẹ) bi o ṣe han ninu sikirinifoto atẹle.

A yoo fi kun ibudo yii bi ibudo olupin ẹhin lẹhin ninu faili iṣeto Varnish nigbamii lori.

Pẹlupẹlu, iṣeto iṣeto ogun foju fun oju opo wẹẹbu/ohun elo kọọkan ti yoo ṣiṣẹ nipasẹ Varnish yẹ ki o wa ni tunto lati tẹtisi ibudo oke. Eyi ni iṣeto fun aaye idanwo wa (/etc/httpd/conf.d/tecmint.lan.conf).

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

Pataki: Lati yago fun oju-iwe idanwo olupin Apache HTTP aiyipada lati lilo nigbakugba, ṣalaye gbogbo awọn ila inu faili /etc/httpd/conf.d/welcome.conf tabi paarẹ faili naa ni rọọrun.

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

10. Nigbamii, ṣe idanwo sintasi iṣeto httpd fun eyikeyi awọn aṣiṣe. Ti O ba dara, tun bẹrẹ iṣẹ httpd lati lo awọn ayipada tuntun.

# httpd -t
# systemctl restart httpd

11. Lati fi Varnish ranṣẹ niwaju HTTPD, o rọrun lati ṣatunṣe rẹ lati tẹtisi awọn ibeere alabara ni ibudo HTTP aiyipada 80 bi a ti salaye ni isalẹ.

Akiyesi pe ninu Kaṣe Varnish 6.0 ati ga julọ, o ni lati ṣeto olupin varnish olupin ti ngbọ ni faili faili iṣẹ Varnish fun eto. Ni akọkọ, ṣii fun ṣiṣatunkọ.

# systemctl edit --full  varnish

Wa fun laini ExecStart, lẹhinna yi iye ti iyipada pada -a (eyiti o ṣe afihan varnish tẹtisi adirẹsi ati ibudo) lati : 6081 si : 80 bi a ṣe tọka si sikirinifoto atẹle.

Ni pataki, ti o ko ba ṣalaye adirẹsi kan, varnishd yoo tẹtisi lori gbogbo awọn IPv4 ti o wa ati awọn wiwo IPv6 ti n ṣiṣẹ lori olupin naa.

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

Fipamọ awọn ayipada ninu faili ki o jade.

12. Bayi, o nilo lati tunto olupin atilẹba, ti a mọ ni awọn ọrọ Varnish bi ẹhin. O jẹ olupin ti o loye HTTP, Awọn ọrọ Varnish si, lati mu akoonu wa - httpd ninu ọran yii. O ti wa ni tunto ni faili iṣeto akọkọ /etc/varnish/default.vcl.

# vi /etc/varnish/default.vcl 

Apakan iṣeto ẹhin ẹhin wa ti a pe ni aiyipada. O le yipada\"aiyipada" si olupin1 (tabi orukọ eyikeyi ti o fẹ lati ba awọn ipo ayika rẹ pade). Nipa aiyipada, paramita olulejo naa tọka si localhost, lori ero pe olupin ẹhin n ṣiṣẹ lori localhost.

Lẹhinna ṣeto ibudo si 8080 (ibudo ti o ṣalaye ni faili iṣeto iṣeto ogun ti Apache) bi o ṣe han ninu sikirinifoto.

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

Ti olupin ẹhin rẹ ba n ṣiṣẹ lori ogun miiran, fun apẹẹrẹ, olupin miiran pẹlu adirẹsi 10.42.1.10, lẹhinna paramita ogun yẹ ki o tọka si adiresi IP yii.

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

Fipamọ faili naa ki o pa.

13. Lẹhin ṣiṣe gbogbo awọn ayipada ti o yẹ nipa Varnish, tun gbee si iṣeto oluṣakoso eto lati ṣe afihan awọn ayipada tuntun ninu faili iṣẹ Varnish ati tun tun bẹrẹ iṣẹ Varnish lati lo awọn ayipada gbogbogbo.

# systemctl daemon-reload
# systemctl restart varnish

14. Ni aaye yii, Varnish ati Apache yẹ ki o tẹtisi bayi lori ibudo 80 ati 8080 lẹsẹsẹ. O le jẹrisi eyi nipa lilo aṣẹ awọn iṣiro iho.

# ss -tpln

Igbesẹ 4: Idanwo Kaṣe Varnish ati Ṣeto Afun

14. Lati ṣe idanwo iṣeto Vache Cache-HTTPD, ṣii ẹrọ lilọ kiri lori ayelujara kan, ki o lilö kiri ni lilo olupin IP tabi FQDN bi o ṣe han ninu sikirinifoto atẹle.

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

Lẹhinna ṣayẹwo ti o ba n ṣiṣẹ awọn oju-iwe wẹẹbu nipasẹ Kaṣe Varnish bi atẹle. Ṣayẹwo awọn akọle HTTP nipasẹ titẹ-ọtun lori oju-iwe wẹẹbu ti o han, yan Ṣayẹwo lati ṣii awọn irinṣẹ idagbasoke, lẹhinna tẹ taabu Nẹtiwọọki, ki o tun gbe oju-iwe naa pada. Lẹhinna yan ibeere kan lati wo awọn akọle HTTP lati jẹrisi eyi bi o ṣe han ninu sikirinifoto atẹle.

Ni omiiran, o le ṣiṣe aṣẹ curl atẹle lati jẹrisi rẹ.

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

Awọn Eto IwUlO Varnish Kaṣe Wulo

15. Jẹ ki a pari itọsọna yii nipa wiwo diẹ ninu awọn eto ti o wulo ti pinpin Varnish Cache wa pẹlu. Wọn pẹlu awọn ohun elo fun iṣakoso kaṣe varnish, fifihan awọn igbasilẹ log alaye, ati wo awọn iṣiro iṣẹ varnish bi a ti ṣalaye rẹ ni isalẹ.

Ni igba akọkọ ti o jẹ varnishadm eyiti o lo lati ṣakoso apeere Varnish ti n ṣiṣẹ. O ṣe agbekalẹ asopọ asopọ ila-aṣẹ aṣẹ si varnishd. O le ni ipa lori apẹẹrẹ ti nṣiṣẹ ti Varnish nipa bibẹrẹ ati didaduro varnishd, yiyipada awọn ipilẹ iṣeto, tun ṣe igbasilẹ VCL, atokọ awọn ẹhin ẹhin, ati diẹ sii.

# varnishadm
> backend.list

Fun alaye diẹ sii, ka eniyan varnishadm.

Eto atẹle jẹ varnishlog eyiti o lo lati wọle si data-pato ibeere (ie alaye nipa awọn alabara pataki ati awọn ibeere). O pese ọpọlọpọ oye ti alaye, nitorinaa o jẹ igbagbogbo pataki lati ṣe àlẹmọ rẹ.

# varnishlog

Fun alaye diẹ sii, ka varnishlog ọkunrin naa.

A tun ni varnishstat (awọn iṣiro varnish) eyiti o lo lati wọle si awọn iṣiro apapọ bi nọmba awọn ibeere lapapọ, nọmba awọn nkan, ati diẹ sii.

# varnishstat

Fun alaye diẹ sii, ka ọkunrin varnishstat.

Lẹhinna a ni varnishtop eyiti ohun elo kan ti o ka iwe akọọlẹ Varnish ati ṣafihan akojọ imudojuiwọn nigbagbogbo ti awọn titẹ sii log ti o wọpọ julọ.

# varnishtop 

Fun alaye diẹ sii, ka varnishtop ọkunrin naa.

IwUlO miiran ti o wulo ni varnishhist (itan varnish) IwUlO ka awọn akọọlẹ Varnish ati gbekalẹ itan-akọọlẹ imudojuiwọn nigbagbogbo ti n ṣe afihan pinpin awọn ibeere N kẹhin nipasẹ ṣiṣe wọn.

# varnishhist

Fun alaye diẹ sii, ka varnishhist ọkunrin naa.

Nibẹ ni o ni! O ti ṣaṣeyọri kaṣe Varnish lati mu iyara akoonu ohun elo wẹẹbu rẹ ṣiṣẹ pẹlu lilo Apache HTTP Server lori CentOS/RHEL 8.

Ti o ba ni awọn ibeere eyikeyi nipa akọle yii tabi awọn ero lati pin, lo fọọmu ifesi ni isalẹ. Ṣayẹwo awọn iwe Varnish Kaṣe 6.0 fun alaye diẹ sii.

Ti o ba fẹ mu HTTPS ṣiṣẹ lori aaye rẹ, ṣayẹwo nkan atẹle wa, eyi ti yoo fihan bi o ṣe le mu SSL/TLS ṣiṣẹ fun Kaṣe Varnish ni lilo Hitch lori CentOS/RHEL 8.