Slik installerer du Varnish Cache 5.2 for Nginx på CentOS 7


Varnish Cache (også referert til som Varnish) er en åpen kildekode, høyytelses HTTP-akselerator designet for å øke hastigheten på webservere. I våre siste artikler har vi forklart hvordan du setter opp Varnish Cache for Apache på CentOS 7 og CentOS 8.

I denne artikkelen vil vi vise deg hvordan du installerer og bruker Varnish Cache som grensesnitt til Nginx HTTP-serveren i CentOS 7. Denne veiledningen bør også fungere på RHEL 7.

Krav

  1. En CentOS 7 med Apache installert
  2. En CentOS 7 med en statisk IP-adresse

Trinn 1: Installer Nginx Web Server på CentOS 7

1. Start med å installere Nginx HTTP-serveren fra standard CentOS-programvarelagrene ved å bruke YUM-pakkebehandlingen som følger.

yum install nginx

2. Når installasjonen er fullført, start Nginx-tjenesten inntil videre og la den starte automatisk ved systemoppstart.

systemctl start nginx
systemctl enable nginx
systemctl status nginx

3. Endre nå systembrannmurregler for å tillate innkommende pakker på port 80 ved å bruke kommandoene nedenfor.

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

Trinn 2: Installer Varnish Cache på CentOS 7

4. Nå er det forhåndskompilerte RPM-pakker for den nyeste versjonen av Varnish Cache 6 (dvs. 6.5 i skrivende stund), derfor du må legge til det offisielle Varnish Cache-depotet.

Før det må du aktivere EPEL-depotet for å installere flere avhengighetspakker som vist.

yum install -y epel-release

5. Installer deretter pygpgme, en pakke for håndtering av GPG-signaturer og yum-utils, en samling nyttige verktøy som utvider yums opprinnelige funksjoner på forskjellige måter.

yum install pygpgme yum-utils

6. Opprett nå en fil med navnet /etc/yum.repos.d/varnishcache_varnish5.repo som inneholder depotkonfigurasjonen nedenfor.

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

Viktig: Sørg for å erstatte el og 7 i konfigurasjonen nedenfor med din Linux-distribusjon og -versjon:

[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. Kjør nå kommandoen nedenfor for å oppdatere din lokale yum-cache og installer lakkbufferpakken (ikke glem å godta GPG-nøkkelen ved å skrive y eller yes mens du installerer pakken):

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

8. Etter å ha installert Varnish Cache, vil den kjørbare hovedfilen bli installert som /usr/sbin/varnishd og lakkkonfigurasjonsfiler er plassert i >/etc/varnish/:

  • /etc/varnish/default.vcl – dette er hovedkonfigurasjonsfilen for lakk, den er skrevet med vanish-konfigurasjonsspråk (VCL).

9. Start nå lakktjenesten, aktiver den til å starte automatisk under systemoppstart, og kontroller statusen for å sikre at den er oppe og kjører som følger.

systemctl start varnish
systemctl enable varnish
systemctl status varnish

10. Du kan bekrefte at Varnish-installasjonen var vellykket ved å se plasseringen til den kjørbare Varnish-filen og versjonen installert på systemet ditt.

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

Trinn 3: Konfigurer Nginx til å fungere med Varnish Cache

11. I dette trinnet må du konfigurere Nginx til å fungere med Varnish Cache. Som standard lytter Nginx på port 80, du bør endre standard Nginx-port til 8080 slik at den kjører bak Varnish-bufring.

Åpne Nginx-konfigurasjonsfilen /etc/nginx/nginx.conf og finn linjen listen 80 og endre den til å lytte 8080 som på serveren blokk vist i skjermbildet nedenfor.

vi /etc/nginx/nginx.conf

Merk: Dette bør gjøres i alle konfigurasjonsfiler for serverblokker (vanligvis opprettet under /etc/nginx/conf.d/) for nettsteder du ønsker å betjene via >lakk.

12. Deretter åpner du konfigurasjonsfilen for lakktjenesten og finn parameteren ExecStart som spesifiserer porten Varnish lytter til, og endre verdien fra 6081 til 80.

systemctl edit --full  varnish

Linjen skal se ut som vist.

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

13. Deretter setter du opp Nginx som en backend-server for Varnish-proxy, i /etc/varnish/default.vcl konfigurasjonsfilen.

vi /etc/varnish/default.vcl 

Finn delen backend, og definer verts-IP og port. Nedenfor er standard backend-konfigurasjon, sett denne til å peke på din faktiske innholdsserver.

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

14. Etter å ha utført alle nødvendige konfigurasjoner, start Nginx HTTPD og Varnish cache på nytt for å utføre endringene ovenfor.

systemctl daemon-reload
systemctl restart nginx
systemctl restart varnish

Trinn 4: Test Varnish Cache på Nginx

15. Til slutt, test om Varnish cache er aktivert og arbeider med Nginx-tjenesten ved å bruke cURL-kommandoen nedenfor for å se HTTP-overskriften.

curl -I http://localhost
Eksempelutgang
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

Du kan finne tilleggsinformasjon fra Varnish Cache Github Repository: https://github.com/varnishcache/varnish-cache

I denne opplæringen forklarte vi hvordan du setter opp Varnish Cache for Nginx HTTP-serveren på CentOS 7. Bruk kommentarskjemaet nedenfor for å sende oss spørsmål eller ekstra ideer.