Instalirajte Varnish Cache 5.2 za povećanje performansi Apachea na CentOS 7


Varnish Cache (poznatiji kao Varnish), popularni je obrnuti proxy HTTP akcelerator otvorenog koda namijenjen za ubrzavanje web poslužitelja. Osmišljen je za pretjerano iskorištene krajnje točke API-ja, kao i za dinamičke stranice koje poslužuju masivan sadržaj i imaju veliki promet.

U osnovi pomaže smanjiti opterećenje CPU-a; podržava balansiranje opterećenja na web poslužiteljima i omogućuje web pregledniku brzo učitavanje stranica kao rezultat pohranjivanja predmemorije u RAM. Brojne velike tvrtke ga koriste, uključujući Facebook, Twitter, i Wikipedia da spomenemo samo neke.

Zahtjevi

  1. CentOS 7 s instaliranim Apacheom
  2. CentOS 7 sa statičkom IP adresom

U ovom ću članku objasniti kako instalirati i koristiti Varnish Cache 6.5 kao front-end za Apache web poslužitelj u CentOS 7 ( također radi na RHEL 7).

Korak 1: Instalirajte web poslužitelj Apache na CentOS 7

1. Najprije instalirajte Apache HTTP poslužitelj iz zadanih repozitorija softvera CentOS pomoću upravitelja paketa YUM na sljedeći način.

yum install httpd

2. Nakon što instalirate Apache, pokrenite ga na neko vrijeme i omogućite mu da se automatski pokrene pri dizanju sustava.

systemctl start httpd
systemctl enable httpd
systemctl status httpd

3. Zatim ažurirajte pravila vatrozida sustava kako biste dopustili ulazne pakete na priključku 80 pomoću naredbi u nastavku.

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

Korak 2: Instalirajte Varnish Cache na CentOS 7

4. Sada postoje unaprijed kompajlirani RPM paketi za najnoviju verziju Varnish Cache 6 (tj. 6.5 u vrijeme pisanja), stoga trebate dodati službeno spremište Varnish Cache.

Prije toga morate omogućiti EPEL repozitorij za instaliranje nekoliko paketa ovisnosti kao što je prikazano.

yum install -y epel-release

5. Zatim instalirajte pygpgme, paket za rukovanje GPG potpisima i yum-utils, zbirku korisnih uslužnih programa koji na različite načine proširuju izvorne značajke yum-a.

yum install pygpgme yum-utils

6. Sada stvorite datoteku pod nazivom /etc/yum.repos.d/varnishcache_varnish65.repo koja sadrži konfiguraciju repozitorija u nastavku.

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

Važno: Obavezno zamijenite el i 7 u donjoj konfiguraciji sa svojom distribucijom i verzijom 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. Sada pokrenite naredbu ispod da ažurirate svoju lokalnu yum predmemoriju i instalirate paket varnish cache (ne zaboravite prihvatiti GPG ključ upisivanjem y ili yes dok instalirate paket):

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

8. Nakon instaliranja Varnish Cache, glavna izvršna datoteka bit će instalirana kao /usr/sbin/varnishd, a konfiguracijske datoteke varnish-a nalaze se u /etc/varnish/:

  • /etc/varnish/default.vcl – ovo je glavna varnish konfiguracijska datoteka, napisana je korištenjem vanish konfiguracijskog jezika (VCL).

9. Sada pokrenite uslugu lakiranja, omogućite joj automatsko pokretanje tijekom dizanja sustava i provjerite njen status kako biste bili sigurni da radi i radi kako slijedi.

systemctl start varnish
systemctl enable varnish
systemctl status varnish

10. Možete potvrditi da je Varnish instalacija bila uspješna tako da vidite lokaciju izvršne Varnish datoteke i verzije instalirane na vašem sustavu.

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

Korak 3: Konfigurirajte Apache za rad s Varnish Cacheom

11. Sada konfigurirajte Apache da radi zajedno s Varnish Cacheom. Prema zadanim postavkama Apache sluša na portu 80, trebate promijeniti zadani HTTPD port na 8080 – to će osigurati da HTTPD radi iza Varnish predmemoriranja.

Možete koristiti naredbu sed za promjenu porta 80 u 8080 kao što je prikazano.

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

Napomena: Također, trebate promijeniti port na konfiguraciji virtualnog hosta za svaku web stranicu koju želite posluživati putem Varnisha. Ovdje je konfiguracija za naše testno mjesto (/etc/httpd/conf.d/tecmint.lan.conf).

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

12. Zatim otvorite konfiguracijsku datoteku varnish systemd i pronađite parametar ExecStart koji navodi port koji Varnish sluša i promijenite mu vrijednost s 6081 do 80 kao što je prikazano na snimci zaslona.

systemctl edit --full  varnish

Konfiguracija bi trebala izgledati ovako kada je gotova.

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

13. Zatim postavite Apache kao pozadinski poslužitelj za Varnish proxy u konfiguracijskoj datoteci /etc/varnish/default.vcl.

vi /etc/varnish/default.vcl 

Pronađite odjeljak backend i definirajte IP i port glavnog računala. Ispod je zadana pozadinska konfiguracija, postavite je da pokazuje na vaš stvarni poslužitelj sadržaja.

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

Ako vaš pozadinski poslužitelj radi na drugom poslužitelju s adresom 10.42.1.10, tada bi parametar hosta trebao upućivati na ovu IP adresu.

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

14. Nakon izvođenja svih potrebnih konfiguracija, ponovno pokrenite HTTPD i Varnish predmemoriju da izvršite gore navedene promjene.

systemctl daemon-reload
systemctl restart httpd
systemctl restart varnish

Korak 4: Testirajte Varnish Cache na Apacheu

15. Na kraju, provjerite je li Varnish omogućen i radi li s uslugom HTTPD pomoću donje naredbe cURL, koja se može koristiti za pregled HTTP zaglavlja.

curl -I http://localhost
Uzorak izlaza
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

Za više informacija pogledajte Varnish Cache Github repozitorij: https://github.com/varnishcache/varnish-cache

U ovom smo vodiču objasnili kako postaviti Varnish Cache 6.5 proxy za Apache HTTP poslužitelj na CentOS 7. U slučaju da imate pitanja ili dodatnih ideja za podijeliti, upotrijebite obrazac za povratne informacije u nastavku da nam pišete .