Settu upp Varnish Cache 5.2 til að auka Apache árangur á CentOS 7


Varnish Cache (almennt þekktur sem Varnish), er opinn uppspretta, vinsæll öfugur proxy HTTP hraðall ætlaður til að flýta fyrir vefþjónum. Það er hannað fyrir óhóflega notaða API endapunkta og einnig fyrir kraftmiklar síður sem þjóna gríðarlegu efni og upplifa mikla umferð.

Það hjálpar í grundvallaratriðum að minnka CPU álag; styður álagsjafnvægi á vefþjónum og gerir vafra kleift að hlaða vefsvæðum fljótt vegna geymslu skyndiminni í vinnsluminni. Fjöldi stórfyrirtækja nota það, þar á meðal Facebook, Twitter og Wikipedia, svo aðeins sé nefnt.

  1. CentOS 7 með Apache uppsettu
  2. CentOS 7 með fastri IP tölu

Í þessari grein mun ég útskýra hvernig á að setja upp og nota Varnish Cache 6.5 sem framhlið á Apache vefþjóni í CentOS 7 (virkar líka á RHEL 7).

Skref 1: Settu upp Apache vefþjón á CentOS 7

1. Settu fyrst upp Apache HTTP miðlara frá sjálfgefnum CentOS hugbúnaðargeymslum með því að nota YUM pakkastjórann sem hér segir.

# yum install httpd

2. Þegar Apache hefur verið sett upp skaltu ræsa það í bili og gera það kleift að ræsast sjálfkrafa við ræsingu kerfisins.

# systemctl start httpd
# systemctl enable httpd
# systemctl status httpd

3. Uppfærðu næst eldveggreglur kerfisins til að leyfa pakka á heimleið á höfn 80 með því að nota skipanirnar hér að neðan.

# firewall-cmd --zone=public --permanent --add-service=http
# firewall-cmd --reload

Skref 2: Settu upp Varnish Cache á CentOS 7

4. Nú eru til forsamdir RPM pakkar fyrir nýjustu útgáfuna af Varnish Cache 6 (þ.e. 6.5 þegar þetta er skrifað), þess vegna þarftu að bæta við opinberu Varnish Cache geymslunni.

Áður en það gerist þarftu að virkja EPEL geymsluna til að setja upp nokkra ósjálfstæðispakka eins og sýnt er.

# yum install -y epel-release

5. Settu næst upp pygpgme, pakka til að meðhöndla GPG undirskriftir og yum-utils, safn af gagnlegum tólum sem útvíkka innfædda eiginleika yum á ýmsan hátt.

# yum install pygpgme yum-utils

6. Búðu til skrá sem heitir /etc/yum.repos.d/varnishcache_varnish65.repo sem inniheldur geymsluuppsetninguna hér að neðan.

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

Mikilvægt: Gakktu úr skugga um að skipta út el og 7 í stillingunum hér að neðan fyrir Linux dreifingu og útgáfu:

[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. Keyrðu nú skipunina hér að neðan til að uppfæra staðbundna yum skyndiminni og settu upp lakk skyndiminni pakkann (ekki gleyma að samþykkja GPG lykilinn með því að slá inn y eða yes meðan þú setur upp pakki):

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

8. Eftir að Varnish Cache hefur verið sett upp verður aðal keyrslan sett upp sem /usr/sbin/varnishd og lakkstillingarskrár eru staðsettar í /etc/varnish/:

  • /etc/varnish/default.vcl – þetta er aðal lakkstillingarskráin, hún er skrifuð með vanish configuration language (VCL).

9. Ræstu nú lakkþjónustuna, gerðu henni kleift að ræsast sjálfkrafa við ræsingu kerfisins og staðfestu stöðu hennar til að tryggja að hún sé í gangi sem hér segir.

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

10. Þú getur staðfest að uppsetning Varnish hafi heppnast með því að sjá staðsetningu Varnish executable og útgáfu uppsett á kerfinu þínu.

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

Skref 3: Stilltu Apache til að vinna með Varnish Cache

11. Stilltu nú Apache til að vinna í tengslum við Varnish Cache. Sjálfgefið er að Apache hlustar á höfn 80, þú þarft að breyta sjálfgefna HTTPD tenginu í 8080 – þetta mun tryggja að HTTPD keyri á bak við Varnish skyndiminni.

Þú getur notað sed skipunina til að breyta höfn 80 í 8080 eins og sýnt er.

# sed -i "s/Listen 80/Listen 8080/" /etc/httpd/conf/httpd.conf

Athugið: Einnig þarftu að breyta höfninni á sýndarhýsingarstillingunum þínum fyrir hverja vefsíðu sem þú vilt þjóna í gegnum Varnish. Hér er uppsetningin fyrir prófunarsíðuna okkar (/etc/httpd/conf.d/tecmint.lan.conf).

<VirtualHost *:8080>
    DocumentRoot "/var/www/html/tecmint.lan/"
    ServerName www.tecmint.lan
    # Other directives here
</VirtualHost>

12. Næst skaltu opna varnish systemd stillingarskrána og finna færibreytuna ExecStart sem tilgreinir portið sem Varnish hlustar á og breyta gildi þess úr 6081 í 80 eins og sýnt er á skjámyndinni.

# systemctl edit --full  varnish

Uppsetningin ætti að líta svona út þegar henni er lokið.

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

13. Næst skaltu setja upp Apache sem bakendaþjón fyrir Varnish proxy, í /etc/varnish/default.vcl stillingarskránni.

# vi /etc/varnish/default.vcl 

Finndu bakendahlutann og skilgreindu IP og höfn gestgjafans. Hér að neðan er sjálfgefna stuðningur stillingar, stilltu þetta til að benda á raunverulegan innihaldsþjón þinn.

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

Ef bakendaþjónninn þinn er í gangi á öðrum netþjóni með heimilisfangið 10.42.1.10, þá ætti hýsilbreytan að benda á þessa IP tölu.

backend server1 {
    .host = "10.42.1.10";
    .port = "8080";
}

14. Eftir að hafa framkvæmt allar nauðsynlegar stillingar skaltu endurræsa HTTPD og Varnish skyndiminni til að framkvæma ofangreindar breytingar.

# systemctl daemon-reload
# systemctl restart httpd
# systemctl restart varnish

Skref 4: Prófaðu Varnish Cache á Apache

15. Prófaðu að lokum hvort Varnish er virkt og vinnur með HTTPD þjónustunni með því að nota cURL skipunina hér að neðan, sem hægt er að nota til að skoða HTTP hausinn.

# curl -I http://localhost
HTTP/1.1 200 OK
Date: Wed, 06 Jan 2021 08:36:07 GMT
Server: Apache/2.4.6 (CentOS)
Last-Modified: Thu, 16 Oct 2014 13:20:58 GMT
ETag: "1321-5058a1e728280"
Accept-Ranges: bytes
Content-Length: 4897
Content-Type: text/html; charset=UTF-8
X-Varnish: 131085
Age: 0
Via: 1.1 varnish (Varnish/6.5)
Connection: keep-alive

Fyrir frekari upplýsingar, skoðaðu Varnish Cache Github Repository: https://github.com/varnishcache/varnish-cache

Í þessari kennslu, útskýrðum við hvernig á að setja upp Varnish Cache 6.5 proxy fyrir Apache HTTP netþjón á CentOS 7. Ef þú hefur einhverjar fyrirspurnir eða frekari hugmyndir til að deila, notaðu athugasemdareyðublaðið hér að neðan til að skrifa okkur til baka.