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


Kaṣe Varnish (eyiti a tọka si nigbagbogbo bi Varnish) jẹ orisun ṣiṣi, alagbara, ati iyarasaya aṣoju HTTP iyara pẹlu faaji ti ode oni ati ede iṣeto ni irọrun. Jije aṣoju yiyipada nirọrun tumọ si pe o jẹ sọfitiwia ti o le fi ranṣẹ niwaju olupin wẹẹbu rẹ (eyiti o jẹ olupin ipilẹṣẹ tabi ẹhin) bii Nginx, lati gba awọn ibeere HTTP ti awọn alabara ati firanṣẹ siwaju wọn si olupin orisun fun ṣiṣe. Ati pe o gba idahun lati ọdọ olupin atilẹba si awọn alabara.

Varnish ṣe bi alarin laarin Nginx ati awọn alabara ṣugbọn pẹlu diẹ ninu awọn anfani iṣẹ. Idi akọkọ rẹ ni lati jẹ ki awọn ohun elo rẹ ṣaja yiyara, nipa ṣiṣẹ bi ẹrọ caching. O gba awọn ibeere lati ọdọ awọn alabara ati ṣiwaju wọn si ẹhin lẹẹkan lati kaṣe akoonu ti o beere (tọju awọn faili ati awọn ajẹkù awọn faili ni iranti). Lẹhinna gbogbo awọn ibeere iwaju fun iru akoonu deede ni yoo wa lati ibi ipamọ.

Eyi jẹ ki awọn ohun elo wẹẹbu rẹ rù yiyara ati ni aiṣe-taara mu ilọsiwaju gbogbo iṣẹ olupin rẹ pọ nitori Varnish yoo sin akoonu lati iranti dipo awọn faili ṣiṣe Nginx lati disk ipamọ.

Yato si kaṣe, Varnish tun ni ọpọlọpọ awọn ọran lilo miiran pẹlu olulana ibeere HTTP, ati iwọntunwọnsi fifuye, ogiriina ohun elo wẹẹbu, ati diẹ sii.

A ti tunto varnish naa ni lilo ohun elo ti a ṣe sinu rẹ ti o pọ julọ ti o jẹ Ero Iṣeto Varnish (VCL) eyiti o fun ọ laaye lati kọ awọn eto imulo lori bawo ni o ṣe yẹ ki o ṣe awọn ibeere ti nwọle. O le lo o lati kọ awọn solusan adani, awọn ofin, ati awọn modulu.

Ninu nkan yii, a yoo lọ nipasẹ awọn igbesẹ lati fi sori ẹrọ olupin ayelujara Nginx ati Varnish Cache 6 lori alabapade CentOS 8 tabi olupin RHEL 8 tuntun. Awọn olumulo RHEL 8 yẹ ki o rii daju pe wọn mu ṣiṣe alabapin redhat ṣiṣẹ.

Lati ṣeto, akopọ LEMP pipe dipo fifi sori ẹrọ olupin ayelujara Nginx nikan, ṣayẹwo awọn itọsọna atẹle.

  1. Bii o ṣe le Fi Server Server LEMP sori CentOS 8
  2. Bii o ṣe le Fi Server LEMP sori RHEL 8

Igbesẹ 1: Fi Nginx Web Server sori CentOS/RHEL 8

1. Awọn ọkọ oju omi CentOS/RHEL 8 pẹlu ẹya tuntun ti sọfitiwia olupin wẹẹbu Nginx, nitorinaa a yoo fi sii lati ibi ipamọ aiyipada nipa lilo awọn ofin dnf atẹle.

# dnf update
# dnf install nginx

2. Lọgan ti a fi sii Nginx, o nilo lati bẹrẹ, muu ṣiṣẹ ati ṣayẹwo ipo naa nipa lilo awọn ofin systemctl atẹle.

# systemctl start nginx
# systemctl enable nginx
# systemctl status nginx

3. Ti o ba jẹ iyanilenu diẹ, o tun le ṣayẹwo iho Nginx TCP, eyiti o ṣiṣẹ lori ibudo 80 nipasẹ aiyipada, ni lilo pipaṣẹ ss wọnyi.

# ss -tpln

4. Ti o ba n ṣiṣẹ ogiriina lori eto, rii daju lati mu awọn ofin ogiriina ṣe lati gba awọn ibeere si olupin ayelujara kan.

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

Igbesẹ 2: Fifi Kaadi 6 Varnish sori CentOS/RHEL 8

5. CentOS/RHEL 8 n pese modulu Varnish Cache DNF nipasẹ aiyipada eyiti o ni ẹya 6.0 LTS (Atilẹyin Igba pipẹ).

Lati fi sori ẹrọ modulu naa, ṣiṣe aṣẹ atẹle.

# dnf module install varnish

6. Lọgan ti fifi sori ẹrọ modulu naa ti pari, o le jẹrisi ẹya ti Varnish ti a fi sori ẹrọ rẹ.

# varnishd -V

7. Lẹhin fifi Kaṣe Varnish sori ẹrọ, aṣẹ pipaṣẹ akọkọ ti a fi sii labẹ/usr/sbin/varnishd ati awọn faili iṣeto varnish wa ni/ati be be lo/varnish /.

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

8. Itele, bẹrẹ iṣẹ Varnish, jẹ ki o bẹrẹ-adaṣe lakoko bata eto ki o jẹrisi pe o ti n ṣiṣẹ.

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

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

9. Ni apakan yii, a yoo fihan bi a ṣe le tunto Kaṣe Varnish lati ṣiṣẹ ni iwaju Nginx. Nipa aiyipada Nginx tẹtisi lori ibudo 80, deede gbogbo awọn bulọọki olupin (tabi olugbalejo foju) ni tunto lati tẹtisi lori ibudo yii.

Fun apẹẹrẹ, wo iwoyi olupin nginx aiyipada ti a tunto ninu faili iṣeto akọkọ (/etc/nginx/nginx.conf).

# vi /etc/nginx/nginx.conf

Wa fun apakan bulọọki olupin bi o ṣe han ninu sikirinifoto atẹle.

10. Lati ṣiṣe Varnish ni iwaju Nginx, o yẹ ki o yipada ibudo Nginx aiyipada lati 80 si 8080 (tabi eyikeyi ibudo miiran ti o fẹ).

Eyi yẹ ki o ṣee ṣe ni gbogbo awọn faili iṣeto iṣeto bulọọki olupin (eyiti a ṣẹda nigbagbogbo labẹ /etc/nginx/conf.d/) fun awọn aaye tabi awọn ohun elo wẹẹbu ti o fẹ sin nipasẹ Varnish.

Fun apẹẹrẹ, bulọọki olupin fun aaye idanwo wa tecmint.lan jẹ /etc/nginx/conf.d/tecmint.lan.conf ati ni iṣeto atẹle.

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 {
        }
}

Pataki: Ranti lati mu idiwọ olupin aiyipada ṣiṣẹ nipa ṣiṣe asọye apakan iṣeto rẹ ninu faili /etc/nginx/nginx.conf bi o ṣe han ninu sikirinifoto atẹle. Eyi n jẹ ki o bẹrẹ ṣiṣe awọn oju opo wẹẹbu/awọn ohun elo miiran lori olupin rẹ, bibẹkọ, Nginx yoo ṣe itọsọna awọn ibeere nigbagbogbo si bulọọki olupin aiyipada.

11. Lọgan ti iṣeto naa pari, ṣayẹwo faili iṣeto fun eyikeyi awọn aṣiṣe ki o tun bẹrẹ iṣẹ Nginx lati lo awọn ayipada to ṣẹṣẹ.

# nginx -t
# systemctl restart nginx

12. Nigbamii, lati gba awọn ibeere HTTP lati ọdọ awọn alabara, a nilo lati tunto Varnish lati ṣiṣẹ lori ibudo 80. Ko dabi awọn ẹya ti iṣaaju ti Varnish Cache nibiti a ti ṣe iyipada yii ni faili ayika Varnish (eyiti o ti lọ silẹ bayi), ni ẹya 6.0 ati loke.

A nilo lati ṣe iyipada ti a beere ninu faili iṣẹ Varnish. Ṣiṣe aṣẹ wọnyi lati ṣii faili iṣẹ ti o yẹ fun ṣiṣatunkọ.

# systemctl edit --full  varnish

Wa laini atẹle ki o yi iye ti iyipada pada -a , eyiti o ṣalaye adirẹsi adirẹsi ati ibudo naa. Ṣeto ibudo si 80 bi o ṣe han ninu sikirinifoto atẹle.

Akiyesi ti o ko ba pato 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.

13. Nigbamii, o nilo lati ṣalaye olupin ẹhin ti Varnish yoo bẹwo lati mu akoonu lati. Eyi ni a ṣe ni faili iṣeto akọkọ Varnish.

# vi /etc/varnish/default.vcl 

Wa fun apakan iṣeto iṣeto ẹhin ẹhin ki o yi okun\"aiyipada" pada si olupin1 (tabi orukọ eyikeyi ti o fẹ lati ṣe aṣoju olupin orisun rẹ). Lẹhinna ṣeto ibudo si 8080 (tabi ibudo igbọran Nginx ti o ṣalaye ninu apo-iṣẹ olupin rẹ) .

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

Fun itọsọna yii, a n ṣiṣẹ Varnish ati Nginx lori olupin kanna. Ti olupin ayelujara Nginx rẹ ba n ṣiṣẹ lori ogun miiran. Fun apẹẹrẹ, olupin miiran pẹlu adirẹsi 10.42.0.247, lẹhinna ṣeto .host paramita bi o ti han.

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

Fipamọ faili naa ki o pa.

14. Nigbamii ti, o nilo lati tun tunto iṣeto oluṣakoso eto nitori awọn ayipada aipẹ ninu faili iṣẹ Varnish, lẹhinna tun bẹrẹ iṣẹ Varnish lati lo awọn ayipada bi atẹle.

# systemctl daemon-reload
# systemctl restart varnish

15. Bayi jẹrisi pe Nginx ati Varnish n tẹtisi lori awọn iho TCP ti a tunto.

# ss -tpln

Igbesẹ 4: Idanwo Netox Varnish Cache Setup

16. Nigbamii, rii daju pe awọn oju-iwe wẹẹbu naa n ṣiṣẹ nipasẹ Varnish Cache bi atẹle. Ṣii ẹrọ lilọ kiri lori ayelujara kan ki o lọ kiri ni lilo IP olupin tabi FDQN bi o ṣe han ninu sikirinifoto atẹle.

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

17. Ni omiiran, lo pipaṣẹ curl bi o ti han. Lo adirẹsi IP olupin rẹ tabi FQDN aaye ayelujara tabi lo 127.0.0.1 tabi localhost ti o ba n danwo ni agbegbe.

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

Awọn ohun elo Isakoso Kaṣe Varnish Wulo

18. Ni apakan ikẹhin yii, a yoo ṣe apejuwe ni ṣoki diẹ ninu awọn eto iwulo iwulo ti Varnish Cache gbe pẹlu, ti o le lo lati ṣakoso varnishd, iraye si awọn iwe iranti ati awọn iṣiro apapọ ati diẹ sii.

Varnishadm ohun elo kan lati ṣakoso apeere Varnish ti n ṣiṣẹ. O fi idi asopọ CLI mulẹ si varnishd. Fun apẹẹrẹ, o le lo lati ṣe atokọ awọn ẹhin ẹhin ti a tunto bi o ṣe han ninu sikirinifoto atẹle (ka eniyan varnishadm fun alaye diẹ sii).

# varnishadm
varnish> backend.list

IwUlO varnishlog pese iraye si data-pato data. O nfunni ni alaye nipa awọn alabara kan pato ati awọn ibeere (ka eniyan varnishlog fun alaye diẹ sii).

# varnishlog

Varnishstat kan ti a tun mọ bi awọn iṣiro varnish, eyiti o fun ọ ni wiwo ni iṣẹ lọwọlọwọ ti Varnish nipa fifun ni iraye si awọn iṣiro inu-iranti gẹgẹbi awọn ibi kaṣe ati awọn padanu, alaye nipa ibi ipamọ, awọn okun ti a ṣẹda, awọn nkan ti o paarẹ (ka eniyan varnishstat fun alaye diẹ sii) .

# varnishstat 

IwUlO varnishtop kan ka awọn iwe iranti iranti ti o pin ati gbekalẹ akojọ imudojuiwọn nigbagbogbo ti awọn titẹ sii log ti o wọpọ julọ (ka eniyan varnishtop fun alaye diẹ sii).

# varnishtop 

IwUlO varnishhist kan (itan varnish) wulo awọn iwe akọọlẹ varnish ati awọn abajade ti histogram ti a ṣe imudojuiwọn nigbagbogbo ti o nfihan pinpin awọn ibeere n kẹhin nipasẹ ṣiṣe wọn (ka eniyan varnishhist fun alaye diẹ sii).

# varnishhist

Gbogbo ẹ niyẹn! Ninu itọsọna yii, a ti fihan bi a ṣe le fi Kaṣe Varnish sori ẹrọ ati ṣiṣe ni iwaju ti olupin Nginx HTTP lati mu iyara ifijiṣẹ akoonu wẹẹbu wa ni CentOS/RHEL 8.

Eyikeyi awọn ero tabi awọn ibeere nipa itọsọna yii le pin nipa lilo fọọmu esi ni isalẹ. Fun alaye diẹ sii, ka iwe Vache Cache.

Aṣiṣe akọkọ ti Kaṣe Varnish ni aini aini atilẹyin abinibi fun HTTPS. Lati mu HTTPS ṣiṣẹ lori oju opo wẹẹbu/ohun elo rẹ, o nilo lati tunto aṣoju ifopinsi SSL/TLS lati ṣiṣẹ ni apapo pẹlu Kaṣe Varnish lati daabobo aaye rẹ. Ninu nkan wa ti nbọ, a yoo fihan bi a ṣe le mu HTTPS ṣiṣẹ fun Kaṣe Varnish ni lilo Hitch lori CentOS/RHEL 8.