Giunsa ang Pag-install sa Varnish Cache 5.2 alang sa Nginx sa CentOS 7


Ang Varnish Cache (gitawag usab nga Varnish) usa ka open-source, high-performance nga HTTP accelerator nga gidisenyo alang sa pagpadali sa mga web server. Sa among katapusan nga mga artikulo, among gipasabut kung giunsa ang pag-setup sa CentOS 8.

Niini nga artikulo, ipakita namo kanimo kung unsaon pag-instalar ug paggamit sa Varnish Cache isip front-end sa Nginx HTTP server sa CentOS 7. Kini nga giya kinahanglan usab nga magamit sa RHEL 7.

  1. Usa ka CentOS 7 nga na-install ang Apache
  2. Usa ka CentOS 7 nga adunay static nga IP address

Lakang 1: I-install ang Nginx Web Server sa CentOS 7

1. Sugdi pinaagi sa pag-instalar sa Nginx HTTP server gikan sa default CentOS software repository gamit ang YUM package manager sama sa mosunod.

# yum install nginx

2. Kung makompleto na ang pag-instalar, sugdi ang serbisyo sa Nginx sa pagkakaron ug himoa kini nga awtomatiko nga magsugod sa boot sa system.

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

3. Karon usba ang mga lagda sa sistema sa firewall aron tugutan ang mga pasulod nga packet sa port 80 gamit ang mga sugo sa ubos.

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

Lakang 2: I-install ang Varnish Cache sa CentOS 7

4. Karon adunay mga pre-compiled RPM packages alang sa pinakabag-o nga bersyon sa Varnish Cache 6 (ie 6.5 sa panahon sa pagsulat), busa kinahanglan nimo nga idugang ang opisyal nga Varnish Cache repository.

Sa wala pa kana, kinahanglan nimo nga hatagan ang EPEL repository sa pag-install sa daghang mga dependency packages sama sa gipakita.

# yum install -y epel-release

5. Sunod, i-install ang pygpgme, usa ka pakete alang sa pagdumala sa mga pirma sa GPG ug yum-utils, usa ka koleksyon sa mapuslanon nga mga gamit nga nagpalapad sa lumad nga mga bahin sa yum sa lainlaing mga paagi.

# yum install pygpgme yum-utils

6. Karon paghimo ug file nga ginganlag /etc/yum.repos.d/varnishcache_varnish5.repo nga adunay sulod nga repository configuration sa ubos.

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

Importante: Siguruha nga ilisan ang el ug 7 sa config sa ubos sa imong distribusyon ug bersyon sa Linux:

[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. Karon padagana ang sugo sa ubos aron i-update ang imong lokal nga yum cache ug i-install ang varnish cache package (ayaw kalimti ang pagdawat sa GPG key pinaagi sa pag-type og y o yes samtang gi-install ang pakete):

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

8. Human ma-install ang Varnish Cache, ang main executable i-install kay /usr/sbin/varnishd ug varnish configuration files nahimutang sa /etc/varnish/:

  • /etc/varnish/default.vcl – kini ang nag-unang varnish configuration file, kini gisulat gamit ang vanish configuration language(VCL).

9. Karon sugdi ang serbisyo sa barnis, pahimoa kini nga awtomatiko nga magsugod sa panahon sa pag-boot sa sistema, ug pamatud-i ang kahimtang niini aron masiguro nga kini naglihok ug nagdagan sama sa mosunod.

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

10. Mahimo nimong kumpirmahon nga ang pag-instalar sa Varnish malampuson pinaagi sa pagtan-aw sa lokasyon sa Varnish executable ug bersyon nga gi-install sa imong sistema.

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

Lakang 3: I-configure ang Nginx sa Pagtrabaho Uban sa Varnish Cache

11. Niini nga lakang, kinahanglan nimo nga i-configure ang Nginx aron magtrabaho uban ang Varnish Cache. Sa kasagaran ang Nginx maminaw sa port 80, kinahanglan nimo nga usbon ang default nga Nginx port ngadto sa 8080 aron kini modagan sa likod sa Varnish caching.

Ablihi ang Nginx config file /etc/nginx/nginx.conf ug pangitaa ang linya nga paminawon ang 80 ug usba kini aron maminaw ang 8080 sama sa block sa server nga gipakita sa screenshot sa ubos.

# vi /etc/nginx/nginx.conf

Mubo nga sulat: Kini kinahanglan nga buhaton sa tanan nga mga server block configuration file (kasagarang gibuhat ubos sa /etc/nginx/conf.d/) para sa mga website nga gusto nimong silbihan pinaagi sa Varnish.

12. Sunod, ablihi ang varnish service configuration file ug pangitaa ang parameter ExecStart nga nagtino sa port nga gipamati sa Varnish, ug usba ang bili niini gikan sa 6081 ngadto sa 80.

# systemctl edit --full  varnish

Ang linya kinahanglan tan-awon sama sa gipakita.

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

13. Sunod, i-set up ang Nginx isip backend server para sa Varnish proxy, sa /etc/varnish/default.vcl configuration file.

# vi /etc/varnish/default.vcl 

Pangitaa ang seksyon sa backend, ug ipasabut ang host IP ug pantalan. Sa ubos mao ang default backend configuration, itakda kini aron itudlo ang imong aktuwal nga content server.

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

14. Human sa pagbuhat sa tanan nga gikinahanglan nga mga pag-configure, i-restart ang Nginx HTTPD ug Varnish cache aron ma-epekto ang mga pagbag-o sa ibabaw.

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

Lakang 4: Sulayi ang Varnish Cache sa Nginx

15. Sa katapusan, sulayi kung ang cache sa Varnish gipagana ug nagtrabaho sa serbisyo sa Nginx gamit ang cURL command sa ubos aron makita ang HTTP header.

# 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

Makita nimo ang dugang nga impormasyon gikan sa Varnish Cache Github Repository: https://github.com/varnishcache/varnish-cache

Sa kini nga panudlo, among gipasabut kung giunsa ang pag-setup sa Varnish Cache alang sa Nginx HTTP server sa CentOS 7. Gamita ang porma sa komentaryo sa ubos aron ipadala kanamo ang bisan unsang mga pangutana o dugang nga mga ideya.