Jinsi ya Kufunga Varnish Cache 5.2 kwa Nginx kwenye CentOS 7


Cache ya Varnish (pia inajulikana kama Varnish) ni chanzo huria, kichapuzi cha utendaji wa juu cha HTTP iliyoundwa kwa ajili ya kuongeza kasi ya seva za wavuti. Katika nakala zetu zilizopita, tumeelezea jinsi ya kusanidi CentOS 8.

Katika makala haya, tutakuonyesha jinsi ya kusakinisha na kutumia Cache ya Varnish kama sehemu ya mbele ya seva ya Nginx HTTP katika CentOS 7. Mwongozo huu unapaswa pia kufanya kazi kwenye RHEL 7.

  1. CentOS 7 iliyosakinishwa Apache
  2. CentOS 7 yenye anwani tuli ya IP

Hatua ya 1: Sakinisha Seva ya Wavuti ya Nginx kwenye CentOS 7

1. Anza kwa kusakinisha seva ya Nginx HTTP kutoka hazina chaguomsingi za programu za CentOS kwa kutumia kidhibiti cha kifurushi cha YUM kama ifuatavyo.

# yum install nginx

2. Wakati usakinishaji ukamilika, anzisha huduma ya Nginx kwa sasa na uiwezeshe kuanza kiotomatiki kwenye mfumo wa kuwasha.

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

3. Sasa rekebisha sheria za ngome za mfumo ili kuruhusu pakiti zinazoingia kwenye bandari 80 kwa kutumia amri zilizo hapa chini.

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

Hatua ya 2: Sakinisha Cache ya Varnish kwenye CentOS 7

4. Sasa kuna vifurushi vya RPM vilivyokusanywa mapema vya toleo la hivi karibuni la Varnish Cache 6 (yaani 6.5 wakati wa kuandika), kwa hivyo unahitaji kuongeza hazina rasmi ya Varnish Cache.

Kabla ya hapo, unahitaji kuwezesha hazina ya EPEL kusakinisha vifurushi kadhaa vya utegemezi kama inavyoonyeshwa.

# yum install -y epel-release

5. Kisha, sakinisha pygpgme, kifurushi cha kushughulikia sahihi za GPG na yum-utils, mkusanyiko wa huduma muhimu zinazopanua vipengele asili vya yum kwa njia mbalimbali.

# yum install pygpgme yum-utils

6. Sasa unda faili inayoitwa /etc/yum.repos.d/varnishcache_varnish5.repo ambayo ina usanidi wa hazina hapa chini.

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

Muhimu: Hakikisha umebadilisha el na 7 katika usanidi ulio hapa chini na usambazaji na toleo lako la 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. Sasa endesha amri iliyo hapa chini ili kusasisha akiba ya yum yako ya ndani na usakinishe kifurushi cha kache ya varnish (usisahau kukubali ufunguo wa GPG kwa kuandika y au ndiyo wakati wa kusakinisha kifurushi):

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

8. Baada ya kusakinisha Cache ya Varnish, inayoweza kutekelezeka itasakinishwa kama /usr/sbin/varnishd na faili za usanidi wa varnish ziko ndani /etc/varnish/:

  • /etc/varnish/default.vcl - hili ndilo faili kuu la usanidi wa varnish, imeandikwa kwa kutumia vanish Configuration language(VCL).

9. Sasa anza huduma ya varnish, iwezeshe kuanza kiotomatiki wakati wa kuwasha mfumo, na uhakikishe hali yake ili kuhakikisha kuwa iko na inafanya kazi kama ifuatavyo.

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

10. Unaweza kuthibitisha kuwa usakinishaji wa Varnish ulifanikiwa kwa kuona eneo la Varnish inayoweza kutekelezeka na toleo lililowekwa kwenye mfumo wako.

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

Hatua ya 3: Sanidi Nginx kufanya kazi na Cache ya Varnish

11. Katika hatua hii, unahitaji kusanidi Nginx kufanya kazi na Cache ya Varnish. Kwa chaguo-msingi Nginx inasikiliza kwenye bandari 80, unapaswa kubadilisha lango chaguo-msingi la Nginx hadi 8080 ili iendeshe nyuma ya akiba ya Varnish.

Fungua faili ya usanidi wa Nginx /etc/nginx/nginx.conf na utafute laini sikiliza 80 na uibadilishe ili kusikiliza 8080 kama kwenye kizuizi cha seva kilichoonyeshwa kwenye picha ya skrini hapa chini.

# vi /etc/nginx/nginx.conf

Kumbuka: Hii inapaswa kufanywa katika faili zote za usanidi wa block block ya seva (kawaida huundwa chini ya /etc/nginx/conf.d/) kwa tovuti ambazo ungependa kutumikia kupitia Varnish.

12. Ifuatayo, fungua faili ya usanidi wa huduma ya varnish na upate kigezo cha ExecStart ambacho kinabainisha kuwa Varnish ya bandari husikiza, na ubadilishe thamani yake kutoka 6081 hadi 80.

# systemctl edit --full  varnish

Mstari unapaswa kuonekana kama inavyoonyeshwa.

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

13. Kisha, sanidi Nginx kama seva ya nyuma kwa seva mbadala ya Varnish, katika faili ya usanidi ya /etc/varnish/default.vcl.

# vi /etc/varnish/default.vcl 

Pata sehemu ya nyuma, na ueleze IP ya mwenyeji na bandari. Ifuatayo ni usanidi chaguo-msingi wa mandharinyuma, weka hii ili kuelekeza kwenye seva yako halisi ya maudhui.

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

14. Baada ya kutekeleza usanidi wote unaohitajika, anzisha upya Nginx HTTPD na kashe ya Varnish ili kutekeleza mabadiliko yaliyo hapo juu.

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

Hatua ya 4: Jaribu Cache ya Varnish kwenye Nginx

15. Hatimaye, jaribu kama akiba ya Varnish imewashwa na kufanya kazi na huduma ya Nginx kwa kutumia amri ya cURL iliyo hapa chini ili kutazama kichwa cha 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

Unaweza kupata habari zaidi kutoka kwa Jalada la Github la Varnish Cache: https://github.com/varnishcache/varnish-cache

Katika somo hili, tulieleza jinsi ya kusanidi Cache ya Varnish kwa seva ya Nginx HTTP kwenye CentOS 7. Tumia fomu ya maoni iliyo hapa chini ili kututumia maswali au mawazo ya ziada.