Kaip įdiegti lako talpyklą 6, skirtą Nginx, CentOS/RHEL 8


Lako talpykla (paprastai vadinama Lakas) yra atvirojo kodo, galingas ir greitas atvirkštinio tarpinio serverio HTTP spartintuvas su modernia architektūra ir lanksčiu konfigūracijos kalba. Atvirkštinis tarpinis serveris paprasčiausiai reiškia, kad tai programinė įranga, kurią galite įdiegti prieš savo žiniatinklio serverį (kuris yra pradinis serveris arba užpakalinė programa), pvz., Nginx, kad gautumėte klientų HTTP užklausas ir persiųstumėte jas kilmės serveris apdorojimui. Ir jis pateikia atsakymą iš pradinio serverio klientams.

Lakas veikia kaip tarpininkas tarp Nginx ir klientų, tačiau turi tam tikrų našumo pranašumų. Pagrindinis jo tikslas yra pagreitinti jūsų programų įkėlimą, veikiant kaip talpyklos variklis. Jis gauna užklausas iš klientų ir vieną kartą persiunčia jas atgalinei sistemai, kad talpykloje išsaugotų prašomą turinį (atmintyje išsaugotų failus ir failų fragmentus). Tada visos būsimos tiksliai panašaus turinio užklausos bus teikiamos iš talpyklos.

Dėl to jūsų žiniatinklio programos įkeliamos greičiau ir netiesiogiai pagerina bendrą žiniatinklio serverio našumą, nes Lakas pateiks turinį iš atminties, o ne „Nginx“ apdoros failus iš saugojimo disko.

Be talpyklos, Varnish taip pat turi keletą kitų naudojimo atvejų, įskaitant HTTP užklausos maršruto parinktuvą ir apkrovos balansavimo priemonę, žiniatinklio programos užkardą ir kt.

Lakas sukonfigūruotas naudojant labai išplečiamą integruotą Lako konfigūravimo kalbą (VCL), kuri leidžia rašyti politiką, kaip turėtų būti gaunamos užklausos. tvarkomi. Galite naudoti jį kurdami pritaikytus sprendimus, taisykles ir modulius.

Šiame straipsnyje mes atliksime veiksmus, kaip įdiegti Nginx žiniatinklio serverį ir Varnish Cache 6 naujoje CentOS 8 arba RHEL 8 serveris. RHEL 8 naudotojai turėtų įsitikinti, kad įgalina „Redhat“ prenumeratą.

Norėdami nustatyti visą LEMP rinkinį, o ne diegti vien tik Nginx žiniatinklio serverį, peržiūrėkite šiuos vadovus.

  1. Kaip įdiegti LEMP serverį CentOS 8
  2. Kaip įdiegti LEMP serverį RHEL 8

1 veiksmas: įdiekite „Nginx Web Server“ „CentOS/RHEL 8“.

1. CentOS/RHEL 8 pateikiama su naujausia Nginx žiniatinklio serverio programinės įrangos versija, todėl įdiegsime ją iš numatytosios saugyklos naudodami vykdydami dnf komandas.

dnf update
dnf install nginx

2. Įdiegę Nginx, turite paleisti, įgalinti ir patikrinti būseną naudodami šias systemctl komandas.

systemctl start nginx
systemctl enable nginx
systemctl status nginx

3. Jei jums šiek tiek įdomu, taip pat galite patikrinti Nginx TCP lizdą, kuris pagal numatytuosius nustatymus veikia 80 prievade, naudodami šią ss komandą.

ss -tpln

4. Jei sistemoje naudojate užkardą, būtinai atnaujinkite ugniasienės taisykles, kad būtų galima teikti užklausas žiniatinklio serveriui.

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

2 veiksmas: „Lankish Cache 6“ įdiegimas „CentOS/RHEL 8“.

5. CentOS/RHEL 8 pagal numatytuosius nustatymus suteikia Lako talpyklos DNF modulį, kuriame yra versija 6.0 LTS (Ilgalaikis palaikymas).

Norėdami įdiegti modulį, paleiskite šią komandą.

dnf module install varnish

6. Kai modulis bus įdiegtas, galėsite patvirtinti sistemoje įdiegtą Lakas versiją.

varnishd -V

7. Įdiegus Lako talpyklą, pagrindinė vykdomoji komanda, įdiegta /usr/sbin/varnishd, o lako konfigūracijos failai yra /etc/lakas/.

Failas /etc/varnish/default.vcl yra pagrindinis lako konfigūracijos failas, parašytas naudojant VCL, o /etc/varnish/secret yra lakas slaptas failas.

8. Tada paleiskite Lako paslaugą, įgalinkite ją automatiškai paleisti sistemos įkrovos metu ir patvirtinkite, kad ji veikia ir veikia.

systemctl start varnish
systemctl enable varnish
systemctl status varnish

3 veiksmas: „Nginx“ konfigūravimas darbui su lako talpykla

9. Šiame skyriuje parodysime, kaip sukonfigūruoti Lako talpyklą, kad ji veiktų prieš Nginx. Pagal numatytuosius nustatymus „Nginx“ klausosi per prievadą 80, paprastai kiekvienas serverio blokas (arba virtualus priegloba) yra sukonfigūruotas taip, kad klausytųsi šiame prievade.

Pavyzdžiui, pažiūrėkite į numatytąjį nginx serverio bloką, sukonfigūruotą pagrindiniame konfigūracijos faile (/etc/nginx/nginx.conf).

vi /etc/nginx/nginx.conf

Ieškokite serverio bloko skyriaus, kaip parodyta toliau esančioje ekrano kopijoje.

10. Norėdami paleisti Varnish prieš Nginx, turėtumėte pakeisti numatytąjį Nginx prievadą iš 80 į >8080 (arba bet kuris kitas jūsų pasirinktas prievadas).

Tai turėtų būti daroma visuose būsimuose serverio bloko konfigūracijos failuose (paprastai sukurtuose /etc/nginx/conf.d/), skirtuose svetainėms arba žiniatinklio programoms, kurias norite teikti naudojant Varnish >.

Pavyzdžiui, mūsų bandomosios svetainės tecmint.lan serverio blokas yra /etc/nginx/conf.d/tecmint.lan.conf ir turi tokią konfigūraciją.

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

Svarbu: nepamirškite išjungti numatytojo serverio bloko, komentuodami jo konfigūracijos skyrių /etc/nginx/nginx.conf faile, kaip parodyta toliau pateiktoje ekrano kopijoje. Tai leidžia jums pradėti paleisti kitas svetaines/programas savo serveryje, kitaip Nginx visada nukreips užklausas į numatytąjį serverio bloką.

11. Baigę konfigūraciją patikrinkite, ar konfigūracijos faile nėra klaidų, ir iš naujo paleiskite „Nginx“ paslaugą, kad pritaikytumėte naujausius pakeitimus.

nginx -t
systemctl restart nginx

12. Be to, norėdami gauti HTTP užklausas iš klientų, turime sukonfigūruoti Lakas, kad jis veiktų naudojant 80 prievadą. Skirtingai nei ankstesnėse Varnish Cache versijose, kur šis pakeitimas buvo atliktas Varnish aplinkos faile (kuris dabar nebenaudojamas), 6.0 ir naujesnėse versijose .

Turime atlikti reikiamus pakeitimus Lako paslaugos faile. Vykdykite šią komandą, kad atidarytumėte atitinkamą paslaugos failą redaguoti.

systemctl edit --full  varnish

Raskite šią eilutę ir pakeiskite jungiklio -a, kuris nurodo klausymosi adresą ir prievadą, reikšmę. Nustatykite prievadą į 80, kaip parodyta toliau esančioje ekrano kopijoje.

Atminkite, kad jei nenurodysite adreso, varnishd klausys visose serveryje veikiančiose IPv4 ir IPv6 sąsajose.

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

Išsaugokite pakeitimus faile ir išeikite.

13. Tada turite apibrėžti vidinį serverį, kuriame Varnish apsilankys, kad gautų turinį. Tai atliekama pagrindiniame Varnish konfigūracijos faile.

vi /etc/varnish/default.vcl 

Ieškokite numatytosios vidinės sistemos konfigūracijos skilties ir pakeiskite eilutę „numatytasis“ į serveris1 (arba bet kurį pasirinktą pavadinimą, kad būtų nurodytas pradinis serveris). Tada nustatykite prievadą į 8080 (arba Nginx klausymo prievadą, kurį nustatėte serverio bloke).

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

Šiam vadovui tame pačiame serveryje paleidžiame Varnish ir Nginx. Jei jūsų „Nginx“ žiniatinklio serveris veikia kitame pagrindiniame kompiuteryje. Pavyzdžiui, kitas serveris, kurio adresas yra 10.42.0.247, tada nustatykite parametrą .host, kaip parodyta.

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

Išsaugokite failą ir uždarykite jį.

14. Tada turite iš naujo įkelti sistemos tvarkyklės konfigūraciją dėl naujausių „Varnish“ paslaugos failo pakeitimų, tada iš naujo paleiskite „Varnish“ paslaugą, kad pritaikytumėte pakeitimus, kaip nurodyta toliau.

systemctl daemon-reload
systemctl restart varnish

15. Dabar patvirtinkite, kad Nginx ir Varnish klausosi sukonfigūruotuose TCP lizduose.

ss -tpln

4 veiksmas: „Nginx“ lako talpyklos sąrankos tikrinimas

16. Tada patikrinkite, ar tinklalapiai aptarnaujami naudojant Varnish Cache, kaip nurodyta toliau. Atidarykite žiniatinklio naršyklę ir naršykite naudodami serverio IP arba FDQN, kaip parodyta toliau esančioje ekrano kopijoje.

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

17. Arba naudokite curl komandą, kaip parodyta. Naudokite savo serverio IP adresą arba svetainės FQDN arba naudokite 127.0.0.1 arba localhost, jei bandote vietoje.

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

Naudingos lako talpyklos administravimo priemonės

18. Šioje paskutinėje dalyje trumpai apibūdinsime kai kurias naudingas paslaugų programas, su kuriomis pristatoma Varnish Cache ir kurias galite naudoti norėdami valdyti varnishd >, pasiekti atmintyje esančius žurnalus, bendrą statistiką ir dar daugiau.

lakas

varnishadm programa, skirta valdyti veikiančią Varnish egzempliorių. Jis sukuria CLI ryšį su laku. Pavyzdžiui, galite jį naudoti norėdami pateikti sukonfigūruotų foninių programų sąrašą, kaip parodyta toliau pateiktoje ekrano kopijoje (daugiau informacijos skaitykite man varnishadm).

varnishadm
varnish> backend.list

lako žurnalas

Varnishlog programa suteikia prieigą prie konkrečių užklausų duomenų. Jame pateikiama informacija apie konkrečius klientus ir pageidavimus (daugiau informacijos skaitykite man lako žurnalas).

varnishlog

lakavimo statistika

varnishstat, taip pat žinomas kaip lako statistika, kuris suteikia galimybę pažvelgti į dabartinį Varnish našumą suteikdamas prieigą prie atminties statistikos, pvz., talpyklos įvykių ir praleistų duomenų, informacijos apie saugyklą. , sukurtos gijos, ištrinti objektai (daugiau informacijos skaitykite man varnishstat).

varnishstat 

lakas

varnishtop programa nuskaito bendrinamos atminties žurnalus ir pateikia nuolat atnaujinamą dažniausiai pasitaikančių žurnalo įrašų sąrašą (daugiau informacijos skaitykite man varnishtop).

varnishtop 

lakas

Lakavimo istorija (lako istorija) programa analizuoja lako žurnalus ir pateikia nuolat atnaujinamą histogramą, rodančią paskutinių n užklausų pasiskirstymą pagal jų apdorojimą ( Daugiau informacijos skaitykitevyras lakas).

varnishhist

Tai viskas! Šiame vadove parodėme, kaip įdiegti Varnish Cache ir paleisti ją prieš Nginx HTTP serverį, kad paspartintumėte žiniatinklio turinio pristatymą CentOS/RHEL 8<..

Bet kokias mintis ar klausimus apie šį vadovą galite pasidalinti naudodami toliau pateiktą atsiliepimų formą. Norėdami gauti daugiau informacijos, skaitykite Lako talpyklos dokumentaciją.

Pagrindinis Varnish Cache trūkumas yra tai, kad joje nėra vietinio HTTPS palaikymo. Norėdami įgalinti HTTPS savo svetainėje/programoje, turite sukonfigūruoti SSL/TLS nutraukimo tarpinį serverį, kad jis veiktų kartu su Varnish Cache ir apsaugotų jūsų svetainę. Kitame straipsnyje parodysime, kaip įgalinti HTTPS lako talpyklai naudojant Hitch CentOS/RHEL 8.