Kako namestiti Varnish Cache 5.2 za Nginx na CentOS 7


Varnish Cache (imenovan tudi Varnish) je odprtokodni visokozmogljivi pospeševalnik HTTP, zasnovan za pospeševanje spletnih strežnikov. V naših zadnjih člankih smo razložili, kako nastaviti CentOS 8.

V tem članku vam bomo pokazali, kako namestiti in uporabljati predpomnilnik lakov kot čelni strežnik strežnika Nginx HTTP v CentOS 7. Ta priročnik bi moral delovati tudi na RHEL 7.

  1. CentOS 7 z nameščenim Apacheom
  2. CentOS 7 s statičnim naslovom IP

1. korak: Namestite spletni strežnik Nginx na CentOS 7

1. Začnite z namestitvijo strežnika Nginx HTTP iz privzetih skladišč programske opreme CentOS z uporabo upravitelja paketov YUM, kot sledi.

# yum install nginx

2. Ko se namestitev konča, zaenkrat zaženite storitev Nginx in omogočite, da se samodejno zažene ob zagonu sistema.

# systemctl start nginx
# systemctl enable nginx
# systemctl status nginx

3. Zdaj spremenite pravila sistemskega požarnega zidu, da dovolite vhodne pakete na vratih 80 s pomočjo spodnjih ukazov.

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

2. korak: Namestite predpomnilnik lakov na CentOS 7

4. Zdaj obstajajo vnaprej pripravljeni paketi RPM za najnovejšo različico Varnish Cache 6 (tj. 6.5 v času pisanja), zato morate dodati uradno skladišče Varnish Cache.

Pred tem morate repozitoriju EPEL omogočiti namestitev več paketov odvisnosti, kot je prikazano.

# yum install -y epel-release

5. Nato namestite pygpgme, paket za ravnanje s podpisi GPG in yum-utils, zbirko uporabnih pripomočkov, ki na različne načine razširjajo domače funkcije yuma.

# yum install pygpgme yum-utils

6. Zdaj ustvarite datoteko z imenom /etc/yum.repos.d/varnishcache_varnish5.repo, ki vsebuje spodnjo konfiguracijo skladišča.

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

Pomembno: V spodnji konfiguraciji zamenjajte el in 7 z vašo distribucijo in različico 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. Zdaj zaženite spodnji ukaz, da posodobite svoj lokalni yum predpomnilnik in namestite paket predpomnilnika laka (ne pozabite sprejeti ključa GPG, tako da med namestitvijo vnesete y ali yes paket):

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

8. Po namestitvi Varnish Cache bo glavna izvedljiva datoteka nameščena kot/usr/sbin/varnishd in datoteke za konfiguracijo laka se nahajajo v/etc/varnish /:

  • /etc/varnish/default.vcl - to je glavna datoteka za konfiguracijo laka, napisana je z uporabo ničelnega konfiguracijskega jezika (VCL).

9. Zdaj zaženite storitev za lakiranje, omogočite, da se samodejno zažene med zagonom sistema, in preverite njeno stanje, da zagotovite, da deluje in deluje na naslednji način.

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

10. Lahko potrdite, da je bila namestitev Varnish uspešna, tako da vidite lokacijo izvedbene različice Varnish in različico, nameščeno v vašem sistemu.

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

3. korak: Konfigurirajte Nginx za delo s predpomnilnikom lakov

11. V tem koraku morate Nginx konfigurirati za delo s predpomnilnikom lakov. Privzeto Nginx posluša na vratih 80, spremenite privzeta vrata Nginx na 8080, tako da se izvajajo za predpomnilnikom Varnish.

Odprite konfiguracijsko datoteko Nginx /etc/nginx/nginx.conf in poiščite vrstico listen 80 in jo spremenite v 8080, kot je prikazano v strežniškem bloku, prikazanem na spodnjem posnetku zaslona.

# vi /etc/nginx/nginx.conf

Opomba: To je treba storiti v vseh konfiguracijskih datotekah blokov strežnika (običajno ustvarjenih pod /etc/nginx/conf.d/) za spletna mesta, ki jih želite prikazovati prek Varnish.

12. Nato odprite konfiguracijsko datoteko storitve laka in poiščite parameter ExecStart, ki določa vrata, ki jih posluša Lak, in spremenite njegovo vrednost s 6081 na 80.

# systemctl edit --full  varnish

Vrstica mora izgledati tako, kot je prikazano.

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

13. Nato v konfiguracijski datoteki /etc/varnish/default.vcl nastavite Nginx kot zaledni strežnik za proxy Varnish.

# vi /etc/varnish/default.vcl 

Poiščite odsek zaledja in določite IP gostitelja in vrata. Spodaj je privzeta konfiguracija zaledja, nastavite to tako, da kaže na vaš dejanski strežnik vsebine.

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

14. Ko izvedete vse potrebne konfiguracije, znova zaženite Nginx HTTPD in predpomnilnik Varnish, da izvedete zgornje spremembe.

# systemctl daemon-reload
# systemctl restart nginx
# systemctl restart varnish

4. korak: Preizkusite Varnish Cache na Nginxu

15. Na koncu preizkusite, ali je predpomnilnik Varnish omogočen in delate s storitvijo Nginx s spodnjim ukazom cURL, da si ogledate glavo HTTP.

# curl -I http://localhost
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 najdete v skladišču Varnish Cache Github: https://github.com/varnishcache/varnish-cache

V tej vadnici smo razložili, kako nastaviti predpomnilnik lakov za strežnik HTTP Nginx na CentOS 7. S spodnjim obrazcem za komentar nam pošljite kakršna koli vprašanja ali dodatne ideje.