Kako namestiti predpomnilnik lakov za Apache na CentOS/RHEL 8


Varnish Cache je brezplačen odprtokodni, sodoben in visoko zmogljiv pospeševalnik spletnih aplikacij. Je hitri povratni strežnik HTTP, ki predpomni vsebino, da pospeši delovanje vašega spletnega strežnika, tako da spletno vsebino shrani v pomnilnik strežnika - v predpomnilnik. Konfiguriran je za zagon pred izvornim strežnikom, kot je spletni strežnik Apache (HTTPD).

Ko odjemalec zahteva vsebino, Varnish sprejme zahtevo HTTP, jo pošlje izvornemu strežniku, vrne predmete v predpomnilnik in odgovori na zahtevo odjemalca. Naslednjič, ko odjemalec zahteva isto vsebino, jo bo Varnish ponudil iz predpomnilnika. Na ta način zmanjša odzivni čas in porabo pasovne širine omrežja na prihodnje enakovredne zahteve.

Lak deluje tudi kot usmerjevalnik zahtev HTTP, požarni zid spletnih aplikacij, izravnalnik obremenitve in še več. Konfiguriran je s prilagodljivim jezikom za konfiguracijo laka (VCL), ki je razširljiv z moduli za lakiranje (znani tudi kot VMOD), podpira Edge Side Includes (ESL), stiskanje in dekompresijo Gzip in še veliko več.

V tem članku boste izvedeli, kako namestiti spletni strežnik Apache HTTPD in Varnish Cache 6 na svež strežnik CentOS/RHEL 8, vključno s konfiguriranjem Varnish-a za zagon pred strežnikom HTTPD.

  • Strežnik z namestitvijo CentOS 8
  • Strežnik z omogočeno naročnino na Red Hat v vašem sistemu.

1. korak: Namestitev spletnega strežnika Apache na CentOS/RHEL 8

1. Začnite s posodobitvijo vseh nameščenih programskih paketov v sistemu, kot sledi, z uporabo ukaza DNF.

# dnf update

2. Nato zaženite naslednji ukaz, da namestite spletni strežnik Apache HTTP iz repozitorija AppStream.

# dnf install httpd

3. Takoj ko je namestitev končana, zaženite storitev httpd, omogočite samodejni zagon med zagonom sistema in z ukazom systemctl preverite njeno stanje in se prepričajte, da deluje.

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

4. Privzeto CentOS/RHEL 8 vključuje popolnoma zaklenjen požarni zid (za potrditev zaženite firewall-cmd –state). V požarnem zidu morate odpreti dostop do storitve HTTP, da uporabnikom omogočite dostop do spletnih mest ali programov, ki se izvajajo prek HTTP, in znova naložite nastavitve požarnega zidu, da uveljavite nove spremembe.

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

2. korak: Namestitev predpomnilnika laka 6.4 na CentOS/RHEL 8

5. Zdaj, ko se spletni strežnik Apache izvaja, lahko nadaljujete z namestitvijo Varnish Cache v sistem z naslednjim ukazom.

# dnf module install varnish

6. Po uspešni namestitvi lahko preverite različico laka, nameščenega v vašem sistemu.

# varnishd -V

7. Nato je glavna izvedljiva datoteka nameščena kot/usr/sbin/varnishd. Tudi konfiguracijske datoteke Varnish so shranjene v imeniku/etc/varnish, kjer:

  • /etc/varnish/default.vcl - je glavna datoteka za konfiguracijo laka, napisana z uporabo VCL.
  • /etc/varnish/secret - je skrivna datoteka laka.

8. Zdaj zaženite storitev lakiranja, za zdaj omogočite samodejni zagon med zagonom sistema v primeru ponovnega zagona strežnika in preverite njegovo stanje, da zagotovite, da deluje in deluje na naslednji način.

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

3. korak: Konfiguriranje Apache za delo s predpomnilnikom lakov

9. Zdaj je čas, da nastavite Varnish Cache za zagon pred storitvijo Apache. Strežnik Apache je privzeto konfiguriran za poslušanje na vratih 80, kar je določeno v glavni konfiguracijski datoteki /etc/httpd/conf/httpd.conf.

Odprite ga za urejanje s svojim najljubšim urejevalnikom besedil.

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

Poiščite parameter Listen. Če želite zagnati Varnish pred strežnikom Apache, spremenite privzeta vrata 80 na 8080 (ali katera koli druga vrata po vaši izbiri), kot je prikazano na naslednjem posnetku zaslona.

Ta vrata bodo pozneje dodana kot vrata zalednega strežnika v konfiguracijski datoteki Varnish.

Konfiguracija navideznega gostitelja za vsako spletno mesto/aplikacijo, ki bo delovala prek Varnish-a, mora biti nastavljena tako, da posluša zgornja vrata. Tu je konfiguracija našega testnega spletnega mesta (/etc/httpd/conf.d/tecmint.lan.conf).

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

Pomembno: Če želite preprečiti, da bi bila privzeta preizkusna stran strežnika Apache HTTP uporabljena, komentirajte vse vrstice v datoteki /etc/httpd/conf.d/welcome.conf ali datoteko preprosto izbrišite.

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

10. Nato preizkusite sintakso konfiguracije httpd za morebitne napake. Če je v redu, znova zaženite storitev httpd, da uveljavite nove spremembe.

# httpd -t
# systemctl restart httpd

11. Če želite namestiti Varnish pred HTTPD, ga morate preprosto konfigurirati tako, da posluša zahteve odjemalca v privzetih vratih HTTP 80, kot je razloženo spodaj.

Upoštevajte, da morate v Varish Cache 6.0 in novejših različicah v strežniški datoteki Varnish za systemd nastaviti poslušanje vrat za lak. Najprej ga odprite za urejanje.

# systemctl edit --full  varnish

Poiščite vrstico ExecStart, nato spremenite vrednost stikala -a (ki določa, kako lak posluša naslov in vrata) iz : 6081 na : 80 , kot je navedeno na naslednjem posnetku zaslona.

Če ne navedete naslova, bo varnishd poslušal vse razpoložljive vmesnike IPv4 in IPv6, ki so aktivni na strežniku.

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

Shranite spremembe v datoteki in zapustite.

12. Zdaj morate konfigurirati izvorni strežnik, ki je v terminologiji Varnish znan kot zaledje. Strežnik je tisti, ki razume HTTP, s katerim se Varnish pogovarja za pridobivanje vsebine - v tem primeru httpd. Konfiguriran je v glavni konfiguracijski datoteki /etc/varnish/default.vcl.

# vi /etc/varnish/default.vcl 

Obstaja privzeti razdelek za konfiguracijo zaledja, imenovan privzeto.\"Privzeto" lahko spremenite v server1 (ali katero koli ime po vaši izbiri, da ustreza vašim okoljskim standardom). Privzeto gostiteljski parameter kaže na localhost, ob predpostavki, da se začasni strežnik izvaja na localhost.

Nato nastavite vrata na 8080 (vrata, ki ste jih določili v konfiguracijski datoteki navideznega gostitelja Apache), kot je prikazano na posnetku zaslona.

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

Če se vaš zaledni strežnik izvaja na drugem gostitelju, na primer drugem strežniku z naslovom 10.42.1.10, mora parameter gostitelja usmerjati na ta naslov IP.

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

Datoteko shranite in zaprite.

13. Po izvedbi vseh potrebnih sprememb glede Varnish-a znova naložite konfiguracijo sistemskega upravitelja, da odraža nove spremembe v datoteki storitve Varnish, in znova zaženite storitev Varnish, da uveljavite celotne spremembe.

# systemctl daemon-reload
# systemctl restart varnish

14. V tem trenutku bi morala Varnish in Apache poslušati na vratih 80 oziroma 8080. To lahko potrdite z ukazom statistika vtičnice.

# ss -tpln

4. korak: Testiranje namestitve predpomnilnika laka in Apache

14. Če želite preizkusiti nastavitev Varnish Cache-HTTPD, odprite spletni brskalnik in krmarite s strežnikom IP ali FQDN, kot je prikazano na naslednji sliki zaslona.

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

Nato preverite, ali se spletne strani strežejo prek Varnish Cache, kot sledi. Preverite glave HTTP, tako da z desno miškino tipko kliknete prikazano spletno stran, izberite Preveri, da odprete orodja za razvijalce, nato kliknite jeziček Omrežje in znova naložite stran. Nato izberite zahtevo za ogled naslovov HTTP, da to potrdite, kot je prikazano na naslednjem posnetku zaslona.

Za potrditev lahko zaženete tudi naslednji ukaz curl.

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

Uporabni pripomočki za predpomnilnik lakov

15. Zaključimo ta vodnik z ogledom nekaterih uporabnih programov, ki jih dobimo v distribuciji Varnish Cache. Vključujejo pripomočke za upravljanje predpomnilnika lakov, prikaz podrobnih zapisov dnevnika in ogled statistik učinkovitosti lakov, kot je opisano spodaj.

Prvi je varnishadm, ki se uporablja za upravljanje delujočega primerka Varnish. Vzpostavi povezavo vmesnika ukazne vrstice z varnishd. Vpliva lahko na delujoč primerek Varnish-a tako, da zažene in zaustavi varnishd, spremeni konfiguracijske parametre, ponovno naloži VCL, navede seznam zalednih mest in še več.

# varnishadm
> backend.list

Za več informacij preberite man varnishadm.

Naslednji program je varnishlog, ki se uporablja za dostop do podatkov, specifičnih za zahteve (tj. Informacije o določenih odjemalcih in zahtevah). Zagotavlja velike količine informacij, zato jih je običajno treba filtrirati.

# varnishlog

Za več informacij preberite man varnishlog.

Na voljo imamo tudi varnishstat (statistika laka), ki se uporablja za dostop do splošnih statistik, kot so število skupnih zahtev, število predmetov in še več.

# varnishstat

Za več informacij preberite man varnishstat.

Nato imamo varnishtop, ki je pripomoček, ki bere dnevnik laka in predstavlja stalno posodobljen seznam najpogostejših vnosov v dnevnik.

# varnishtop 

Za več informacij preberite man lak.

Drug uporaben pripomoček je pripomoček varnishhist (zgodovina laka), ki bere dnevnike laka in predstavlja stalno posodobljeni histogram, ki prikazuje porazdelitev zadnjih N zahtev z njihovo obdelavo.

# varnishhist

Za več informacij preberite man lakist.

Tukaj je! Uspešno ste namestili Varnish Cache za pospešitev vsebine vaših spletnih aplikacij, ki se streže s strežnikom Apache HTTP na CentOS/RHEL 8.

Če imate kakršna koli vprašanja o tej temi ali misli, ki jih želite deliti, uporabite spodnji obrazec za povratne informacije. Za več informacij si oglejte dokumentacijo Varnish Cache 6.0.

Če želite na svojem spletnem mestu omogočiti HTTPS, si oglejte naš naslednji članek, ki bo pokazal, kako omogočiti SSL/TLS za predpomnilnik lakov s pomočjo Hitch na CentOS/RHEL 8.