Kako instalirati Varnish Cache za Apache na CentOS/RHEL 8


Varnish Cache besplatan je, moderan i visokoučinkovit akcelerator web aplikacija otvorenog koda. To je brzi obrnuti HTTP proxy koji sprema sadržaj u predmemoriju kako bi ubrzao rad vašeg web poslužitelja, pohranjujući web sadržaj u memoriju poslužitelja – u predmemoriju. Konfiguriran je za rad ispred izvornog poslužitelja kao što je web poslužitelj Apache (HTTPD).

Kada klijent zatraži sadržaj, Varnish prihvaća HTTP zahtjev, šalje zahtjev izvornom poslužitelju, predmemorira vraćene objekte i odgovara na zahtjev klijenta. Sljedeći put kada klijent zatraži isti sadržaj, Varnish će ga poslužiti iz predmemorije. Na taj način smanjuje vrijeme odgovora i potrošnju propusnosti mreže na buduće ekvivalentne zahtjeve.

Varnish također radi kao usmjerivač HTTP zahtjeva, vatrozid web aplikacije, balanser opterećenja i više. Konfigurira se pomoću fleksibilnog Varnish Configuration Language (VCL) koji je proširiv pomoću Varnish modula (također poznatih kao VMODs >), podržava Edge Side Includes (ESL), Gzip kompresiju i dekompresiju i još mnogo toga.

U ovom ćete članku naučiti kako instalirati Apache HTTPD web poslužitelj i Varnish Cache 6 na novi CentOS/RHEL 8 poslužitelj, uključujući konfiguraciju Lakiranje za pokretanje ispred HTTPD poslužitelja.

Preduvjeti:

  • Poslužitelj s instalacijom CentOS 8
  • Poslužitelj s instalacijom RHEL 8 s omogućenom pretplatom na Red Hat na vašem sustavu.

Korak 1: Instalacija Apache web poslužitelja na CentOS/RHEL 8

1. Započnite ažuriranjem svih instaliranih softverskih paketa na sustavu na sljedeći način pomoću naredbe DNF.

dnf update

2. Zatim pokrenite sljedeću naredbu za instalaciju web poslužitelja Apache HTTP iz repozitorija AppStream.

dnf install httpd

3. Čim instalacija završi, pokrenite uslugu httpd, omogućite joj automatsko pokretanje tijekom pokretanja sustava i provjerite njen status kako biste potvrdili da radi i radi, koristeći naredbu systemctl.

systemctl start httpd
systemctl enable httpd
systemctl status httpd

4. Prema zadanim postavkama CentOS/RHEL 8 uključuje potpuno zaključani vatrozid (pokrenite firewall-cmd –state za potvrdu). Morate otvoriti pristup HTTP usluzi u vatrozidu kako biste korisnicima omogućili pristup web stranicama ili aplikacijama koje rade preko HTTP-a, a također morate ponovo učitati postavke vatrozida da biste primijenili nove promjene.

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

Korak 2: Instalacija Varnish Cache 6.4 na CentOS/RHEL 8

5. Sada kada Apache web poslužitelj radi, možete nastaviti s instaliranjem Varnish Cache na sustav pomoću sljedeće naredbe.

dnf module install varnish

6. Nakon uspješne instalacije, možete provjeriti verziju Varnisha instaliranog na vašem sustavu.

varnishd -V

7. Zatim se instalira glavna izvršna datoteka kao /usr/sbin/varnishd. Također, Varnish konfiguracijske datoteke pohranjene su u /etc/varnish direktoriju, gdje:

  • /etc/varnish/default.vcl – glavna je konfiguracijska datoteka laka napisana pomoću VCL-a.
  • /etc/varnish/secret – tajna je datoteka laka.

8. Sada pokrenite uslugu lakiranja, za sada je omogućite da se automatski pokrene tijekom pokretanja sustava u slučaju ponovnog pokretanja poslužitelja i provjerite njen status kako biste bili sigurni da radi kako slijedi.

systemctl start varnish
systemctl enable varnish
systemctl status varnish

Korak 3: Konfiguriranje Apachea za rad s Varnish Cacheom

9. Sada je vrijeme da konfigurirate Varnish Cache za pokretanje ispred usluge Apache. Prema zadanim postavkama Apache poslužitelj je konfiguriran za slušanje na portu 80, to je definirano u glavnoj konfiguracijskoj datoteci /etc/httpd/conf/httpd.conf.

Otvorite ga za uređivanje koristeći svoj omiljeni uređivač teksta.

vi /etc/httpd/conf/httpd.conf

Potražite parametar Slušaj. Da biste pokrenuli Varnish ispred Apache poslužitelja, trebate promijeniti zadani port 80 u 8080 (ili bilo koji drugi port po vašem izboru) kao prikazano na sljedećoj snimci zaslona.

Ovaj će se priključak kasnije dodati kao priključak pozadinskog poslužitelja u Varnish konfiguracijskoj datoteci.

Također, konfiguracija virtualnog hosta za svaku web stranicu/aplikaciju koja će služiti putem Varnish treba biti konfigurirana da sluša gornji port. Ovdje je konfiguracija za naše testno mjesto (/etc/httpd/conf.d/tecmint.lan.conf).

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

Važno: Kako biste spriječili korištenje zadane testne stranice HTTP poslužitelja Apache, komentirajte sve retke u datoteci /etc/httpd/conf.d /welcome.confili jednostavno izbrišite datoteku.

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

10. Zatim testirajte konfiguracijsku sintaksu httpd ima li pogrešaka. Ako je u redu, ponovno pokrenite httpd uslugu kako biste primijenili nove promjene.

httpd -t
systemctl restart httpd

Konfiguriranje Varnisha za Systemd

11. Da biste implementirali Varnish ispred HTTPD-a, jednostavno ga morate konfigurirati da sluša zahtjeve klijenta na zadanom HTTP portu 80 kao što je objašnjeno ispod.

Imajte na umu da u Varnish Cache 6.0 i novijim verzijama, morate postaviti port varnish server koji sluša u datoteci usluge Varnish za systemd. Prvo ga otvorite za uređivanje.

systemctl edit --full  varnish

Potražite redak ExecStart, a zatim promijenite vrijednost prekidača -a (koji navodi da varnish sluša adresu i port) iz :6081 do :80 kao što je naznačeno na sljedećoj snimci zaslona.

Važno je da ako ne navedete adresu, varnishd će slušati sva dostupna IPv4 i IPv6 sučelja aktivna na poslužitelju.

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

Spremite promjene u datoteku i izađite.

Konfiguriranje Varnish Backend poslužitelja pomoću VCL-a

12. Sada trebate konfigurirati izvorni poslužitelj, poznat u Varnish terminologiji kao backend. Varnish razgovara s poslužiteljem koji razumije HTTP kako bi dohvatio sadržaj – httpd u ovom slučaju. Konfigurira se u glavnoj konfiguracijskoj datoteci /etc/varnish/default.vcl.

vi /etc/varnish/default.vcl 

Postoji zadani odjeljak konfiguracije pozadine pod nazivom zadano. Možete promijeniti “zadano ” u poslužitelj1 (ili bilo koje ime po vašem izboru kako biste zadovoljili standarde svoje okoline). Prema zadanim postavkama, parametar host pokazuje na localhost, pod pretpostavkom da pozadinski poslužitelj radi na lokalnom hostu.

Zatim postavite priključak na 8080 (priključak koji ste definirali u konfiguracijskoj datoteci virtualnog hosta Apache) kao što je prikazano na snimci zaslona.

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

Ako vaš pozadinski poslužitelj radi na drugom hostu, na primjer, drugom poslužitelju s adresom 10.42.1.10, tada bi parametar host trebao upućivati na ovu IP adresu.

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

Spremite datoteku i zatvorite je.

13. Nakon što izvršite sve potrebne promjene koje se tiču Varnish, ponovno učitajte konfiguraciju upravitelja systemd da odražava nove promjene u Varnish servisnoj datoteci i ponovno pokrenite uslugu lakiranja za primjenu ukupnih promjena.

systemctl daemon-reload
systemctl restart varnish

14. U ovom trenutku, Varnish i Apache sada bi trebali slušati na portu 80 odnosno 8080. To možete potvrditi pomoću naredbe statistike utičnice.

ss -tpln

Korak 4: Testiranje postavki Varnish Cache i Apache

14. Da biste testirali postavku Varnish Cache-HTTPD, otvorite web-preglednik i krećite se pomoću poslužitelja IP ili FQDN kao što je prikazano na sljedećoj snimci zaslona.

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

Zatim provjerite poslužuju li se web stranice putem Varnish Cache na sljedeći način. Provjerite zaglavlja HTTP desnim klikom na prikazanu web stranicu, odaberite Provjeri da biste otvorili alate za razvojne programere, zatim kliknite karticu Mreža i ponovno učitajte stranicu. Zatim odaberite zahtjev za prikaz HTTP zaglavlja kako biste to potvrdili kao što je prikazano na sljedećoj snimci zaslona.

Alternativno, možete pokrenuti sljedeću naredbu curl da biste je potvrdili.

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

Korisni pomoćni programi Varnish Cache

15. Završimo ovaj vodič pregledom nekih od korisnih programa s kojima distribucija Varnish Cache dolazi. Uključuju pomoćne programe za administraciju varnish cachea, prikazivanje detaljnih zapisa dnevnika i pregled statistike izvedbe varnish-a kao što je opisano u nastavku.

lakiranjem

Prvi je varnishadm koji se koristi za upravljanje pokrenutom instancom Varnish. Uspostavlja vezu sučelja naredbenog retka s varnishd. Može utjecati na pokrenutu instancu Varnisha pokretanjem i zaustavljanjem varnishd-a, mijenjanjem konfiguracijskih parametara, ponovnim učitavanjem VCL-a, ispisivanjem pozadina i više.

varnishadm
> backend.list

Za više informacija pročitajte man varnishadm.

dnevnik lakiranja

Sljedeći program je varnishlog koji se koristi za pristup podacima specifičnim za zahtjeve (tj. informacije o određenim klijentima i zahtjevima). Pruža velike količine informacija, pa ih je obično potrebno filtrirati.

varnishlog

Za više informacija pročitajte muški dnevnik lakiranja.

varnishstat

Također imamo varnishstat (statistika lakiranja) koja se koristi za pristup cjelokupnoj statistici kao što je broj ukupnih zahtjeva, broj objekata i drugo.

varnishstat

Za više informacija pročitajte man varnishstat.

varnishtop

Zatim imamo varnishtop koji je uslužni program koji čita dnevnik Varnish i predstavlja stalno ažurirani popis unosa dnevnika koji se najčešće pojavljuju.

varnishtop 

Za više informacija pročitajte muški lak.

lakirist

Još jedan koristan uslužni program je varnishhist (povijest lakiranja) uslužni program čita Varnish zapisnike i prikazuje kontinuirano ažurirani histogram koji prikazuje distribuciju zadnjih N zahtjeva prema njihovim obrada.

varnishhist

Za više informacija pročitajte popis lakova za muškarce.

Eto ga! Uspješno ste postavili Varnish Cache za ubrzavanje sadržaja vaše web aplikacije koji se poslužuje pomoću Apache HTTP poslužitelja na CentOS/RHEL 8.

Ako imate pitanja o ovoj temi ili želite podijeliti svoje misli, upotrijebite obrazac za povratne informacije u nastavku. Više informacija potražite u dokumentaciji Varnish Cache 6.0.

Ako želite omogućiti HTTPS na svojoj web stranici, pogledajte naš sljedeći članak, koji će pokazati kako omogućiti SSL/TLS za Varnish Cache pomoću Hitch na CentOS/RHEL 8.