Varnish Cache (algemeen bekend als Varnish), is een open-source, populaire omgekeerde-proxy HTTP-versneller bedoeld voor het versnellen van webservers. Het is ontworpen voor overmatig gebruikte API-eindpunten en ook voor dynamische sites die veel inhoud serveren en veel verkeer ervaren.
Het helpt in feite om de CPU-belasting te verminderen; ondersteunt het balanceren van belastingen op webservers en stelt een webbrowser in staat om sites snel te laden als gevolg van het opslaan van de cache in het RAM-geheugen. Een aantal grote bedrijven maken er gebruik van, waaronder Facebook, Twitter, en Wikipedia om er maar een paar te noemen.
Vereisten
In dit artikel zal ik uitleggen hoe je Varnish Cache 6.5 kunt installeren en gebruiken als front-end voor een Apache webserver in CentOS 7 (werkt ook op RHEL 7).
Stap 1: Apache Web Server installeren op CentOS 7
1. Installeer eerst de Apache HTTP-server vanuit de standaard CentOS-softwarerepositories met behulp van de YUM-pakketbeheerder zoals hieronder.
# yum install httpd

2. Zodra Apache is geïnstalleerd, start het voorlopig en schakel het in om automatisch te starten bij het opstarten van het systeem.
# systemctl start httpd # systemctl enable httpd # systemctl status httpd

3. Update vervolgens de firewallregels van het systeem om inkomende pakketten op poort 80 toe te staan met behulp van de onderstaande commando’s.
# firewall-cmd --zone=public --permanent --add-service=http # firewall-cmd --reload

Stap 2: Installeer Varnish Cache op CentOS 7
4. Er zijn nu vooraf samengestelde RPM-pakketten voor de nieuwste versie van Varnish Cache 6 (d.w.z. 6.5 op het moment van schrijven), daarom moet je de officiële Varnish Cache repository toevoegen.
Voordat je dat doet, moet je de EPEL-repository inschakelen om verschillende afhankelijkheidspakketten te installeren zoals hieronder weergegeven.
# yum install -y epel-release
5. Installeer vervolgens pygpgme, een pakket voor het verwerken van GPG-handtekeningen en yum-utils, een verzameling handige hulpprogramma’s die de functies van yum op verschillende manieren uitbreiden.
# yum install pygpgme yum-utils
6. Maak nu een bestand met de naam /etc/yum.repos.d/varnishcache_varnish65.repo dat de onderstaande repositoryconfiguratie bevat.
# vi /etc/yum.repos.d/varnishcache_varnish65.repo
Belangrijk: Zorg ervoor dat je el
en 7
in de onderstaande configuratie vervangt door je Linux-distributie en versie:
[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. Voer nu het onderstaande commando uit om je lokale yum-cache bij te werken en het varnish-cachepakket te installeren (vergeet niet de GPG-sleutel te accepteren door y
of yes
in te typen tijdens de installatie van het pakket):
# yum -q makecache -y --disablerepo='*' --enablerepo='varnishcache_varnish65' # yum install varnish

8. Na het installeren van Varnish Cache, wordt het hoofdprogramma geïnstalleerd als /usr/sbin/varnishd en de Varnish-configuratiebestanden bevinden zich in /etc/varnish/:
- /etc/varnish/default.vcl – dit is het hoofd Varnish-configuratiebestand, het is geschreven in de Varnish-configuratietaal (VCL).
9. Start nu de Varnish-service, schakel deze in om automatisch te starten tijdens het opstarten van het systeem, en controleer de status ervan om ervoor te zorgen dat deze actief is en draait zoals volgt.
# systemctl start varnish # systemctl enable varnish # systemctl status varnish

10. U kunt bevestigen dat de Varnish-installatie succesvol was door de locatie van het Varnish-programma en de geïnstalleerde versie op uw systeem te bekijken.
$ which varnishd $ varnishd -V
Voorbeelduitvoer
varnishd (varnish-6.5.1 revision 1dae23376bb5ea7a6b8e9e4b9ed95cdc9469fb64) Copyright (c) 2006 Verdens Gang AS Copyright (c) 2006-2020 Varnish Software
Stap 3: Configureer Apache om samen te werken met Varnish Cache
11. Configureer nu Apache om samen te werken met Varnish Cache. Standaard luistert Apache op poort 80, u moet de standaard HTTPD-poort wijzigen naar 8080 – dit zorgt ervoor dat HTTPD achter Varnish-caching draait.
U kunt het sed-commando gebruiken om poort 80 naar 8080 te wijzigen zoals getoond.
# sed -i "s/Listen 80/Listen 8080/" /etc/httpd/conf/httpd.conf
Opmerking: U moet ook de poort wijzigen in de configuratie van uw virtuele host voor elke website die u via Varnish wilt bedienen. Hier is de configuratie voor onze testsite (/etc/httpd/conf.d/tecmint.lan.conf).
<VirtualHost *:8080> DocumentRoot "/var/www/html/tecmint.lan/" ServerName www.tecmint.lan # Other directives here </VirtualHost>
12. Open vervolgens het varnish systemd configuratiebestand en zoek de parameter ExecStart die aangeeft op welke poort Varnish luistert, en verander de waarde van 6081 naar 80 zoals weergegeven in de screenshot.
# systemctl edit --full varnish
De configuratie zou er als volgt uit moeten zien wanneer je klaar bent.
ExecStart=/usr/sbin/varnishd -a :80 -f /etc/varnish/default.vcl -s malloc,256m

13. Stel vervolgens Apache in als een backend server voor de Varnish proxy, in het /etc/varnish/default.vcl configuratiebestand.
# vi /etc/varnish/default.vcl
Zoek de backend sectie, en definieer het host IP en poort. Hieronder staat de standaard backend configuratie, pas deze aan naar je werkelijke content server.
backend default { .host = "127.0.0.1"; .port = "8080"; }
Als je backend server op een ander server draait met het adres 10.42.1.10, dan moet het host parameter naar dit IP adres wijzen.
backend server1 { .host = "10.42.1.10"; .port = "8080"; }
14. Na het uitvoeren van alle benodigde configuraties, herstart HTTPD en Varnish cache om de bovenstaande veranderingen door te voeren.
# systemctl daemon-reload # systemctl restart httpd # systemctl restart varnish
Stap 4: Test Varnish Cache op Apache
15. Als laatste, test of Varnish is ingeschakeld en werkt met de HTTPD service met behulp van het cURL commando hieronder, dat gebruikt kan worden om de HTTP header te bekijken.
# curl -I http://localhost
Voorbeeld Output
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
Voor meer informatie, bekijk de Varnish Cache Github Repository: https://github.com/varnishcache/varnish-cache
In deze tutorial hebben we uitgelegd hoe je een Varnish Cache 6.5 proxy kunt instellen voor de Apache HTTP-server op CentOS 7. Als je vragen hebt of extra ideeën wilt delen, gebruik dan het feedbackformulier hieronder om ons terug te schrijven
Source:
https://www.tecmint.com/install-varnish-cache-on-centos-7-for-apache/