![CentOS 6.10 Netinstall](/f/cf0393472bef96490b09c07dc1aca3a8.png?width=100&height=100)
Gândiți-vă un moment la ce s-a întâmplat când ați navigat la pagina curentă. Fie ați făcut clic pe un link pe care l-ați primit printr-un buletin informativ, fie pe linkul de pe pagina de pornire a Tecmint.com și apoi au fost duși la acest articol.
În câteva cuvinte, dvs. (sau de fapt browserul dvs.) ați trimis o solicitare HTTP serverului web care găzduiește acest site, iar serverul a trimis înapoi un răspuns HTTP.
Oricât de simplu sună, acest proces implică mult mai mult decât atât. Trebuiau făcute multe procesări partea de server pentru a prezenta pagina frumos formatată pe care o puteți vedea cu toate resursele din ea – statice și dinamice.
Fără să sapi mult mai adânc, îți poți imagina că dacă serverul web trebuie să răspundă la multe solicitări de genul acesta simultan (faceți-l doar câteva sute pentru început), poate aduce fie el însuși, fie întregul sistem la un crawlere peste mult timp.
Și acolo este Lac, un accelerator HTTP de înaltă performanță și un proxy invers, poate salva situația. În acest articol, voi explica cum se instalează și se utilizează
Lac ca front-end la Apache sau Nginx pentru a stoca în cache răspunsurile HTTP mai rapid și fără a încărca o încărcare suplimentară pe serverul web.Cu toate acestea, din moment ce Lac în mod normal își stochează memoria cache în loc de pe disc, va trebui să fim atenți și limitează spațiul RAM alocate pentru stocarea în cache. Vom discuta cum să facem acest lucru într-un minut.
Cuprins
Această postare presupune că ați instalat un LAMPĂ sau LEMP Server. Dacă nu, vă rugăm să instalați unul dintre aceste stive înainte de a continua.
Documentația oficială recomandă instalarea Lac din depozitul propriu al dezvoltatorului, deoarece oferă întotdeauna cea mai recentă versiune. De asemenea, puteți alege să instalați pachetul din depozitele oficiale ale distribuției dvs., deși poate fi puțin depășit.
De asemenea, rețineți că depozitele proiectului oferă doar suport pentru pe 64 de biți sisteme, în timp ce pentru pe 32 de biți mașini, va trebui să apelați la depozitele întreținute oficial ale distribuției dvs.
În acest articol, vom instala Lac din depozitele susținute oficial de fiecare distribuție. Motivul principal din spatele acestei decizii este de a oferi uniformitate în metoda de instalare și de a asigura rezoluția automată a dependenței pentru toate arhitecturile.
Pe Distribuții bazate pe Debian, puteți instala Lac folosind comanda apt așa cum se arată.
# apt update # apt install varnish
Pe Distribuții bazate pe RHEL cum ar fi CentOS, Rocky și AlmaLinux, va trebui activați depozitul EPEL înainte de instalare Lac folosind comanda yum așa cum se arată.
# yum install epel-release. # yum actualizare. # yum instalează lac
Dacă instalarea se finalizează cu succes, veți avea una dintre următoarele lac versiuni în funcție de distribuția dvs.:
# lac -V varnishd (lac-6.5.1 revizuirea 1dae23376bb5ea7a6b8e9e4b9ed95cdc9469fb64)
În sfârșit, trebuie să începeți Lac manual dacă procesul de instalare nu a făcut-o pentru dvs. și permiteți-l să pornească la pornire.
# systemctl start lac. # systemctl activa lac. # systemctl status lac.
Port implicit 6081 este utilizat de serviciul de lac și îl confirmați rulând următoarele comanda netstat.
# netstat -tunlp | grep 6081.
După cum am spus mai devreme, Varnish se află în mijlocul clienților externi și al serverului web. Din acest motiv și pentru ca stocarea în cache să devină transparentă pentru utilizatorii finali, va trebui să:
The lacd procesul este controlat de systemd și are fișierul unitar în /usr/lib/systemd/system/varnish.service, care deține configurația implicită de rulare Varnish.
Aici, trebuie să schimbăm portul implicit de lac de la 6081 spre port 80 iar dimensiunea cache la 1 GB așa cum se arată prin rularea următoarei comenzi, care va deschide fișierul unității în editor, așa cum se arată.
Notă: Puteți modifica cantitatea de memorie în funcție de resursele dvs. hardware sau, alternativ, puteți alege să salvați fișierele din cache pe disc.
$ sudo systemctl edit --full lac. SAU # systemctl edit --full lac.
După ce a făcut modificări la /etc/systemd/system/varnish.service fișier, trebuie să reîncărcați fișierul Systemd demon rulând următoarea comandă:
# systemctl daemon-reload.
După ce ați schimbat portul de lac, acum trebuie să vă schimbați Apache sau Nginx port server web din implicit 80 la cel mai comun port de rețea adică 8080.
Pe sisteme bazate pe Debian # nano /etc/apache2/ports.conf [Pe Apache] # /etc/nginx/sites-enabled/default [Pe Nginx] Pe sisteme bazate pe RHEL # vi /etc/httpd/conf/httpd.conf [Pe Apache] # vi /etc/nginx/nginx.conf [Pe Nginx]
După ce ați făcut modificările, nu uitați să reporniți Lac și serverul web.
# systemctl restart varnish Pe sisteme bazate pe Debian # systemctl restart apache2 # systemctl restart nginx Pe sisteme bazate pe RHEL # systemctl restart httpd # systemctl restart nginx
Prima probă constă în realizarea unui HTTP cerere prin intermediul comanda curl și verificând că este tratat de Varnish:
# curl -I http://localhost.
Lacul include, de asemenea, două instrumente la îndemână:
Ca al doilea test, în următorul screencast, vom afișa atât jurnalele, cât și statisticile pe a CentOS Server (dev1, jumătatea superioară a ecranului) și pe a Debian Server (dev2, jumătatea inferioară a ecranului) pe măsură ce solicitările HTTP sunt trimise și răspunsurile primite.
Al treilea și ultimul nostru test va consta în analiza comparativă atât a serverului web, cât și a Varnish cu instrument de benchmarking ab și compararea timpilor de răspuns și a încărcării CPU în fiecare caz.
În acest exemplu particular, vom folosi CentOS server, dar puteți utiliza orice distribuție și puteți obține rezultate similare. Urmărește medie de încărcare în partea de sus și linia Cereri pe secundă din ieșirea ab.
Cu ab, vom fi trimiși 50 (-c 50) solicitări concurente în același timp și repetați testul 1000000 ori (indicat de -n 1000000). Varnish va returna un număr mai mare de solicitări pe secundă și o medie de încărcare mult mai mică.
Important: Vă rugăm să rețineți că Varnish ascultă pe portul 80 (portul HTTP implicit), în timp ce Apache ascultă pe portul 8080. De asemenea, puteți lua notă de timpul necesar pentru a finaliza fiecare test.
# ab -c 50 -n 100000 http://localhost/index.html.
În acest articol, am discutat despre cum să configurați un Lac cache în fața unui server web, Apache, sau Nginx. Rețineți că nu am săpat adânc în implicit.vcl fișier de configurare, care ne permite să personalizăm în continuare politica de cache.
Vă recomandăm să consultați documentația oficială pentru alte exemple de configurare sau să lăsați un comentariu folosind formularul de mai jos.