Kako instalirati Varnish Cache 5.2 za Nginx na CentOS 7


Varnish Cache (također se naziva Varnish) je open source HTTP akcelerator visokih performansi dizajniran za ubrzavanje web servera. U našim zadnjim člancima objasnili smo kako postaviti Varnish Cache za Apache na CentOS 7 i CentOS 8.

U ovom članku ćemo vam pokazati kako da instalirate i koristite Varnish Cache kao front-end za Nginx HTTP server u CentOS 7. Ovaj vodič bi također trebao raditi na RHEL 7.

Zahtjevi

  1. CentOS 7 sa instaliranim Apacheom
  2. CentOS 7 sa statičkom IP adresom

Korak 1: Instalirajte Nginx web server na CentOS 7

1. Počnite tako što ćete instalirati Nginx HTTP server iz podrazumevanih CentOS softverskih riznica koristeći YUM menadžer paketa na sledeći način.

yum install nginx

2. Kada se instalacija završi, za sada pokrenite uslugu Nginx i omogućite joj da se automatski pokreće pri pokretanju sistema.

systemctl start nginx
systemctl enable nginx
systemctl status nginx

3. Sada izmijenite pravila sistemskog zaštitnog zida da biste dozvolili ulazne pakete na portu 80 koristeći naredbe ispod.

firewall-cmd --zone=public --permanent --add-port=80/tcp
firewall-cmd --reload
firewall-cmd --zone=public --permanent --add-port=8080/tcp
firewall-cmd --reload

Korak 2: Instalirajte Varnish Cache na CentOS 7

4. Sada postoje unaprijed kompajlirani RPM paketi za najnoviju verziju Varnish Cache 6 (tj. 6.5 u vrijeme pisanja), stoga morate dodati službeno spremište Varnish Cache.

Prije toga, morate omogućiti EPEL spremište da instalira nekoliko paketa ovisnosti kao što je prikazano.

yum install -y epel-release

5. Zatim instalirajte pygpgme, paket za rukovanje GPG potpisima i yum-utils, kolekciju korisnih uslužnih programa koji proširuju yum-ove izvorne funkcije na različite načine.

yum install pygpgme yum-utils

6. Sada kreirajte datoteku pod nazivom /etc/yum.repos.d/varnishcache_varnish5.repo koja sadrži konfiguraciju spremišta ispod.

vi /etc/yum.repos.d/varnishcache_varnish65.repo

Važno: Zamijenite el i 7 u konfiguraciji ispod sa svojom distribucijom i verzijom Linuxa:

[varnishcache_varnish65]
name=varnishcache_varnish65
baseurl=https://packagecloud.io/varnishcache/varnish65/el/7/$basearch
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packagecloud.io/varnishcache/varnish65/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300

[varnishcache_varnish65-source]
name=varnishcache_varnish65-source
baseurl=https://packagecloud.io/varnishcache/varnish65/el/7/SRPMS
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packagecloud.io/varnishcache/varnish65/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300

7. Sada pokrenite naredbu ispod da ažurirate svoj lokalni yum keš i instalirate paket keš memorije (ne zaboravite prihvatiti GPG ključ upisivanjem y ili yes dok instalirate paket):

yum -q makecache -y --disablerepo='*' --enablerepo='varnishcache_varnish65'
yum install varnish 

8. Nakon instaliranja Varnish Cache, glavni izvršni fajl će biti instaliran kao /usr/sbin/varnishd, a datoteke za konfiguraciju laka se nalaze u >/etc/lak/:

  • /etc/varnish/default.vcl – ovo je glavna konfiguraciona datoteka lakiranja, napisana je koristeći vanish konfiguracijski jezik (VCL).

9. Sada pokrenite uslugu lakiranja, omogućite joj da se automatski pokrene tokom pokretanja sistema i provjerite njen status kako biste bili sigurni da je pokrenut i radi na sljedeći način.

systemctl start varnish
systemctl enable varnish
systemctl status varnish

10. Možete potvrditi da je Varnish instalacija bila uspješna tako što ćete vidjeti lokaciju Varnish izvršne datoteke i verziju instaliranu na vašem sistemu.

which varnishd
varnishd -V
Sample Output
varnishd (varnish-6.5.1 revision 1dae23376bb5ea7a6b8e9e4b9ed95cdc9469fb64)
Copyright (c) 2006 Verdens Gang AS
Copyright (c) 2006-2020 Varnish Software

Korak 3: Konfigurirajte Nginx za rad s Varnish Cache

11. U ovom koraku morate konfigurirati Nginx za rad sa Varnish Cache. Nginx podrazumevano sluša na portu 80, trebali biste promijeniti zadani Nginx port u 8080 tako da radi iza Varnish keširanja.

Otvorite Nginx konfiguracijsku datoteku /etc/nginx/nginx.conf i pronađite redak listen 80 i promijenite ga tako da sluša 8080 kao na serveru blok prikazan na snimku ekrana ispod.

vi /etc/nginx/nginx.conf

Napomena: Ovo treba učiniti u svim konfiguracijskim datotekama bloka servera (obično kreiranim pod /etc/nginx/conf.d/) za web stranice koje želite posluživati putem >Lak.

12. Zatim otvorite konfiguracijsku datoteku usluge lakiranja i pronađite parametar ExecStart koji specificira port koji Varnish sluša i promijenite njegovu vrijednost iz 6081 do 80.

systemctl edit --full  varnish

Linija bi trebala izgledati kao što je prikazano.

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

13. Zatim postavite Nginx kao backend server za Varnish proxy, u /etc/varnish/default.vcl konfiguracijskoj datoteci.

vi /etc/varnish/default.vcl 

Pronađite odjeljak backend i definirajte IP i port hosta. Ispod je podrazumevana pozadinska konfiguracija, postavite ovo da ukazuje na vaš stvarni server sadržaja.

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

14. Nakon što izvršite sve potrebne konfiguracije, ponovo pokrenite Nginx HTTPD i Varnish keš kako biste izvršili gore navedene promjene.

systemctl daemon-reload
systemctl restart nginx
systemctl restart varnish

Korak 4: Testirajte Varnish Cache na Nginxu

15. Na kraju, testirajte da li je Varnish cache omogućen i radi sa Nginx uslugom koristeći naredbu cURL ispod da vidite HTTP zaglavlje.

curl -I http://localhost
Sample Output
HTTP/1.1 200 OK
Server: nginx/1.16.1
Date: Wed, 06 Jan 2021 09:24:18 GMT
Content-Type: text/html
Content-Length: 4833
Last-Modified: Fri, 16 May 2014 15:12:48 GMT
ETag: "53762af0-12e1"
X-Varnish: 2
Age: 0
Via: 1.1 varnish (Varnish/6.5)
Accept-Ranges: bytes
Connection: keep-alive

Dodatne informacije možete pronaći iz Varnish Cache Github repozitorija: https://github.com/varnishcache/varnish-cache

U ovom vodiču smo objasnili kako da podesite Varnish Cache za Nginx HTTP server na CentOS 7. Koristite formular za komentare ispod da biste nam poslali upite ili dodatne ideje.