Įdiekite Varnish Cache 5.2, kad padidintumėte „Apache“ našumą „CentOS 7“.


Varnish Cache (paprastai žinomas kaip Lakas) yra atvirojo kodo, populiarus atvirkštinio tarpinio serverio HTTP spartintuvas, skirtas paspartinti žiniatinklio serverius. Jis sukurtas pernelyg išnaudojamiems API galutiniams taškams, taip pat dinamiškoms svetainėms, kuriose aptarnaujamas didžiulis turinys ir kurios patiria didelį srautą.

Tai iš esmės padeda sumažinti procesoriaus apkrovą; palaiko apkrovos balansavimą žiniatinklio serveriuose ir leidžia interneto naršyklei greitai įkelti svetaines dėl talpyklos saugojimo RAM. Daugelis didelių kompanijų jį naudoja, įskaitant Facebook, Twitter ir Wikipedia, kad būtų galima paminėti tik keletą.

Reikalavimai

  1. „CentOS 7“ su įdiegta „Apache“.
  2. CentOS 7 su statiniu IP adresu

Šiame straipsnyje paaiškinsiu, kaip įdiegti ir naudoti Varnish Cache 6.5 kaip sąsają su Apache žiniatinklio serveriu CentOS 7 ( taip pat veikia RHEL 7).

1 veiksmas: įdiekite „Apache“ žiniatinklio serverį „CentOS 7“.

1. Pirmiausia įdiekite Apache HTTP serverį iš numatytųjų CentOS programinės įrangos saugyklų naudodami YUM paketų tvarkyklę, kaip nurodyta toliau.

yum install httpd

2. Įdiegę „Apache“, paleiskite ją kol kas ir įgalinkite automatiškai paleisti sistemą įkrovos metu.

systemctl start httpd
systemctl enable httpd
systemctl status httpd

3. Kitą kartą atnaujinkite sistemos užkardos taisykles, kad būtų leista įeinantys paketai per prievadą 80, naudodami toliau pateiktas komandas.

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

2 veiksmas: „CentOS 7“ įdiekite „Lako talpyklą“.

4. Dabar yra iš anksto sukompiliuoti RPM paketai, skirti naujausiai Varnish Cache 6 versijai (t. y. 6.5 rašymo metu), todėl turite pridėti oficialią Lako talpyklos saugyklą.

Prieš tai turite įgalinti EPEL saugyklą, kad būtų galima įdiegti kelis priklausomybės paketus, kaip parodyta.

yum install -y epel-release

5. Tada įdiekite pygpgme – paketą, skirtą GPG parašams ir „yum-utils“ tvarkyti – naudingų paslaugų rinkinį, kuris įvairiais būdais išplečia natūralias „yum“ funkcijas.

yum install pygpgme yum-utils

6. Dabar sukurkite failą pavadinimu /etc/yum.repos.d/varnishcache_varnish65.repo, kuriame yra toliau nurodyta saugyklos konfigūracija.

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

Svarbu: toliau pateiktoje konfigūracijoje būtinai pakeiskite el ir 7 savo Linux platinimu ir versija:

[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. Dabar paleiskite toliau pateiktą komandą, kad atnaujintumėte vietinę yum talpyklą ir įdiegtumėte lako talpyklos paketą (nepamirškite priimti GPG rakto įvesdami y arba yes diegiant paketą):

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

8. Įdiegus Lako talpyklą, pagrindinis vykdomasis failas bus įdiegtas kaip /usr/sbin/varnishd, o lako konfigūracijos failai yra >/etc/lakas/:

  • /etc/varnish/default.vcl – tai pagrindinis lako konfigūracijos failas, parašytas naudojant Vanish Configuration Language (VCL).

9. Dabar paleiskite lakavimo paslaugą, įgalinkite ją automatiškai paleisti sistemos įkrovos metu ir patikrinkite jos būseną, kad įsitikintumėte, jog ji veikia ir veikia taip.

systemctl start varnish
systemctl enable varnish
systemctl status varnish

10. Galite patvirtinti, kad „Varnish“ diegimas buvo sėkmingas, matydami jūsų sistemoje įdiegtos „Varnish“ vykdomosios programos vietą ir versiją.

which varnishd
varnishd -V
Pavyzdžio išvestis
varnishd (varnish-6.5.1 revision 1dae23376bb5ea7a6b8e9e4b9ed95cdc9469fb64)
Copyright (c) 2006 Verdens Gang AS
Copyright (c) 2006-2020 Varnish Software

3 veiksmas: sukonfigūruokite „Apache“, kad jis veiktų su lako talpykla

11. Dabar sukonfigūruokite „Apache“, kad jis veiktų kartu su „Varnish Cache“. Pagal numatytuosius nustatymus „Apache“ klauso prievado 80, turite pakeisti numatytąjį HTTPD prievadą į 8080 – tai užtikrins, kad HTTPD veiktų už „Varnish“ talpyklos.

Galite naudoti komandą sed, kad pakeistumėte prievadą 80 į 8080, kaip parodyta.

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

Pastaba: taip pat turite pakeisti kiekvienos svetainės, kurią norite aptarnauti naudodami „Varnish“, virtualiosios prieglobos konfigūracijos prievadą. Štai mūsų bandomosios svetainės (/etc/httpd/conf.d/tecmint.lan.conf) konfigūracija.

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

12. Tada atidarykite lako sistemos konfigūracijos failą ir raskite parametrą ExecStart, kuris nurodo prievadą, kurio Varnish klausosi, ir pakeiskite jo reikšmę iš 6081 iki 80, kaip parodyta ekrano kopijoje.

systemctl edit --full  varnish

Baigta konfigūracija turėtų atrodyti taip.

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

13. Tada nustatykite „Apache“ kaip pagrindinį „Varnish“ tarpinio serverio serverį /etc/varnish/default.vcl konfigūracijos faile.

vi /etc/varnish/default.vcl 

Raskite skiltį backend ir nustatykite pagrindinio kompiuterio IP bei prievadą. Toliau pateikiama numatytoji vidinės sistemos konfigūracija, nustatykite, kad ji nukreiptų į tikrąjį turinio serverį.

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

Jei jūsų vidinis serveris veikia kitame serveryje, kurio adresas yra 10.42.1.10, tada prieglobos parametras turėtų nurodyti šį IP adresą.

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

14. Atlikę visas būtinas konfigūracijas, iš naujo paleiskite HTTPD ir „Varnish“ talpyklą, kad atliktumėte anksčiau nurodytus pakeitimus.

systemctl daemon-reload
systemctl restart httpd
systemctl restart varnish

4 veiksmas: išbandykite lako talpyklą „Apache“.

15. Galiausiai patikrinkite, ar „Varnish“ įgalintas ir veikia su HTTPD paslauga, naudodami toliau pateiktą komandą cURL, kurią galima naudoti HTTP antraštei peržiūrėti.

curl -I http://localhost
Pavyzdžio išvestis
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

Norėdami gauti daugiau informacijos, apsilankykite „Varnish Cache Github“ saugykloje: https://github.com/varnishcache/varnish-cache

Šioje mokymo programoje paaiškinome, kaip nustatyti Varnish Cache 6.5 tarpinį serverį, skirtą Apache HTTP serveriui CentOS 7. Jei turite kokių nors užklausų ar papildomų idėjų, kuriomis norite pasidalinti, naudokite toliau pateiktą atsiliepimų formą ir parašykite mums. .