Denk even na over wat er gebeurde toen je naar de huidige pagina ging. Je hebt ofwel geklikt op een link die je via een nieuwsbrief hebt ontvangen, of op de link op de homepage van Tecmint.com en vervolgens naar dit artikel gebracht.
In het kort, jij (of eigenlijk je browser) stuurde een HTTP-verzoek naar de webserver die deze site host, en de server stuurde een HTTP-respons terug.
Zo eenvoudig als dit klinkt, dit proces omvat veel meer dan dat. Er moest veel verwerking aan de serverkant worden gedaan om de mooi opgemaakte pagina te presenteren die je kunt zien met alle bronnen erin – statisch en dynamisch.
Zonder al te diep te graven, kun je je voorstellen dat als de webserver tegelijkertijd op veel verzoeken als deze moet reageren (begin met slechts een paar honderd), het zichzelf of het hele systeem al snel kan vertragen.
En daar komt Varnish, een high-performance HTTP-accelerator en reverse proxy, te hulp. In dit artikel zal ik uitleggen hoe je Varnish kunt installeren en gebruiken als een front-end voor Apache of Nginx om HTTP-responsen sneller te cachen zonder een verdere belasting op de webserver te leggen.
Echter, aangezien Varnish normaal gesproken zijn cache in het geheugen opslaat in plaats van op schijf, moeten we voorzichtig zijn en de toegewezen RAM-ruimte voor caching beperken. We zullen bespreken hoe dit te doen in een ogenblik.
Inhoudsopgave
Hoe Varnish Werkt

Varnish Cache Installeren op Linux Server
Deze post veronderstelt dat u een LAMP of LEMP server hebt geïnstalleerd. Indien niet, installeer dan een van deze stacks voordat u verder gaat.
- Hoe de LAMP-server installeren op op RHEL-gebaseerde distributies
- Hoe de LAMP-server installeren op Ubuntu
- Hoe de LAMP-server installeren op Debian
- Hoe de LEMP-server installeren op op RHEL-gebaseerde distributies
- Hoe de LEMP-server installeren op Ubuntu
- Hoe de LEMP-server installeren op Debian
De officiële documentatie raadt aan om Varnish te installeren vanuit het eigen repository van de ontwikkelaar omdat zij altijd de nieuwste versie bieden. Je kunt er ook voor kiezen om het pakket te installeren vanuit de officiële repositories van je distributie, hoewel deze mogelijk wat verouderd zijn.
Ook, let op dat de projectrepositories alleen ondersteuning bieden voor 64-bit systemen, terwijl voor 32-bit machines, je zult moeten terugvallen op de officieel onderhouden repositories van je distributie.
In dit artikel zullen we Varnish installeren vanuit de door elke distributie officieel ondersteunde repositories. De belangrijkste reden achter deze beslissing is om uniformiteit te bieden in de installatiemethode en ervoor te zorgen dat afhankelijkheden automatisch worden opgelost voor alle architecturen.
Varnish installeren in Debian-gebaseerde Linux
Op Debian-gebaseerde distributies kun je Varnish installeren met behulp van de apt-opdracht zoals hieronder getoond.
# apt update # apt install varnish

Varnish installeren in RHEL-gebaseerde Linux
Op RHEL-gebaseerde distributies zoals CentOS, Rocky en AlmaLinux, moet je de EPEL-repository inschakelen voordat je Varnish installeert met behulp van de yum-opdracht zoals getoond.
# yum install epel-release # yum update # yum install varnish

Als de installatie succesvol is voltooid, heb je een van de volgende varnish-versies afhankelijk van je distributie:
# varnishd -V varnishd (varnish-6.5.1 revision 1dae23376bb5ea7a6b8e9e4b9ed95cdc9469fb64)
Tenslotte moet je Varnish handmatig starten als het installatieproces dat niet voor je gedaan heeft en inschakelen om op te starten bij het opstarten.
# systemctl start varnish # systemctl enable varnish # systemctl status varnish

De standaard poort 6081 wordt gebruikt door de varnish-service en je kunt dit bevestigen door de volgende netstat-opdracht uit te voeren.
# netstat -tunlp | grep 6081

Het configureren van Varnish Cache in Linux
Zoals we eerder zeiden, staat Varnish in het midden tussen externe clients en de webserver. Daarom, en om de caching transparant te laten zijn voor eindgebruikers, zullen we het volgende moeten doen:
- Wijzig de standaardpoort 6081 waarop Varnish luistert naar 80.
- Wijzig de standaardpoort waarop de webserver luistert naar 8080 in plaats van de standaard 80.
- Omleid inkomend verkeer van Varnish naar de webserver. Gelukkig doet Varnish dit automatisch nadat we de 1) en 2) stappen hebben uitgevoerd.
Poort Varnish Wijzigen
Het varnishd proces wordt beheerd door systemd en heeft zijn eenheid bestand in /usr/lib/systemd/system/varnish.service, dat de standaard Varnish runtime configuratie bevat.
Hier moeten we de standaard Varnish poort wijzigen van 6081 naar poort 80 en de cache grootte wijzigen naar 1GB zoals weergegeven door het uitvoeren van de volgende opdracht, die het eenheid bestand in de editor opent zoals weergegeven.
Opmerking: U kunt de hoeveelheid geheugen aanpassen aan uw hardware bronnen of alternatief kiezen om geheugen op schijf op te slaan.
$ sudo systemctl edit --full varnish OR # systemctl edit --full varnish

Nadat u wijzigingen aan het /etc/systemd/system/varnish.service bestand hebt aangebracht, moet u de Systemd daemon herlaad door de volgende opdracht uit te voeren:
# systemctl daemon-reload
Apache of Nginx Poort Wijzigen
Na het wijzigen van de Varnish-poort, moet je nu de Apache of Nginx web server poort wijzigen van de standaard 80 naar de meest gebruikte netwerkpoort, namelijk 8080.
---------- On Debian-based Systems ---------- # nano /etc/apache2/ports.conf [On Apache] # /etc/nginx/sites-enabled/default [On Nginx] ---------- On RHEL-based Systems ---------- # vi /etc/httpd/conf/httpd.conf [On Apache] # vi /etc/nginx/nginx.conf [On Nginx]

Zodra je de wijzigingen hebt aangebracht, vergeet niet om Varnish en de web server opnieuw op te starten.
# systemctl restart varnish ---------- On Debian-based Systems ---------- # systemctl restart apache2 # systemctl restart nginx ---------- On RHEL-based Systems ---------- # systemctl restart httpd # systemctl restart nginx
Het testen van Varnish Cache in Linux
De eerste test bestaat uit het maken van een HTTP verzoek via de curl command en het verifiëren dat het wordt afgehandeld door Varnish:
# curl -I http://localhost

Varnish bevat ook twee handige tools:
- Bekijk in realtime Varnish-logs, intuïtief genoemd varnishlog.
- Toon Varnish cache statistieken, genaamd varnishstat.
Als tweede test zullen we in de volgende screencast zowel de logs als de statistieken weergeven op een CentOS server (dev1, bovenste helft van het scherm) en op een Debian server (dev2, onderste helft van het scherm) terwijl HTTP-verzoeken worden verzonden en antwoorden worden ontvangen.
Test Web Server Prestatie Benchmark
Onze derde en laatste test zal bestaan uit het meten van zowel de web server als Varnish met behulp van de ab benchmarking tool en het vergelijken van de reactietijden en de CPU-belasting in beide gevallen.
In dit specifieke voorbeeld zullen we de CentOS server gebruiken, maar u kunt elke distributie gebruiken en vergelijkbare resultaten krijgen. Let op de load average bovenaan en de Requests per second regel in de uitvoer van ab.
Met ab zullen we 50 (-c 50) gelijktijdige aanvragen tegelijkertijd verzenden en de test 1000000 keer herhalen (aangegeven door -n 1000000). Varnish zal een hogere aantal aanvragen per seconde teruggeven en een veel lagere load average.
Belangrijk: Vergeet niet dat Varnish luistert op poort 80 (de standaard HTTP-poort), terwijl Apache luistert op poort 8080. U kunt ook de hoeveelheid tijd noteren die nodig is om elke test te voltooien.
# ab -c 50 -n 100000 http://localhost/index.html
Conclusie
In dit artikel hebben we besproken hoe u een Varnish cache kunt installeren voor een web server, Apache, of Nginx. Merk op dat we niet diep ingaan op het default.vcl configuratiebestand, wat ons in staat stelt om het cachebeleid verder aan te passen.
U zou nu misschien naar de officiële documentatie kunnen verwijzen voor verdere configuratievoorbeelden of hieronder een opmerking kunnen achterlaten met behulp van het formulier.
Source:
https://www.tecmint.com/install-varnish-cache-server/