Gids

Varnish instellen voor Magento 2, stap voor stap.

Full-page cache in Varnish: zet Magento erop over, genereer de VCL, zet Varnish tussen nginx en de winkel, en controleer dat pagina's uit de cache komen. Checked on 5 nov 2026.

Step 1Magento

Zet de full-page cache over op Varnish

In de admin staat dit onder Stores, Configuration, Advanced, System, Full Page Cache, Caching Application. Via de commandoregel is het één instelling:

On your server

bin/magento config:set system/full_page_cache/caching_application 2

1 is de ingebouwde cache, 2 is Varnish.

Step 2Magento

Genereer de VCL vanuit Magento

Magento schrijft een Varnish-configuratie die zijn cache tags en purge-verzoeken kent. Laat de backend wijzen naar de poort waarop nginx de winkel serveert, en sta purges alleen toe vanaf de server zelf.

On your server

bin/magento varnish:vcl:generate --export-version=7 \
  --backend-host=127.0.0.1 --backend-port=8080 \
  --access-list=127.0.0.1 --output-file=/etc/varnish/default.vcl

bin/magento varnish:vcl:generate --help toont de exportversies die je Magento-release biedt.

Step 3Magento

Vertel Magento waar Varnish luistert

Als een product of pagina verandert, stuurt Magento een purge-verzoek naar Varnish. Daarvoor is het adres en de poort nodig waarop Varnish luistert.

On your server

bin/magento setup:config:set --http-cache-hosts=127.0.0.1:6081

Step 4Server

Zet Varnish tussen nginx en de winkel

Varnish spreekt geen HTTPS. De gebruikelijke keten: nginx op 443 handelt TLS af en geeft het verzoek door aan Varnish op 6081, en Varnish vraagt het op bij een tweede nginx-serverblock op 8080 dat PHP draait. Herstart Varnish na het wijzigen van de VCL.

nginx en Varnish

# nginx, the public server block (443)
location / {
    proxy_pass http://127.0.0.1:6081;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-Proto https;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

# then
systemctl restart varnish

Step 5Controleren

Controleer dat pagina's uit de cache komen

Open een categoriepagina twee keer en kijk hoe de hit-teller oploopt, of volg één verzoek door Varnish. Leeg daarna alleen de paginacache wanneer dat nodig is.

On your server

varnishstat -1 | grep -E 'cache_hit |cache_miss '
varnishlog -g request -q 'ReqURL eq "/"'
bin/magento cache:flush full_page

Een cache_hit-teller die bij herhaalde bezoeken blijft oplopen, betekent dat Varnish de pagina's serveert.

Vragen, beantwoord.

ShopWhizzy-support Magento sinds 2008

Neem contact op
Elke vrije poort; 6081 is de gebruikelijke. nginx stuurt de verzoeken ernaartoe, en Magento stuurt zijn purge-verzoeken naar hetzelfde adres.
Ze doen verschillend werk. Varnish serveert hele pagina's uit het geheugen voordat PHP start; Redis of Valkey bewaart de cache en sessies van Magento. De meeste snelle winkels gebruiken beide.
Winkelwagen-, checkout- en accountpagina's zijn privé, dus Magento markeert ze als niet cachebaar. Blocks met cacheable="false" in een layout maken de hele pagina niet cachebaar, een veelvoorkomende oorzaak van trage winkels.
Ja. Elk Magento-pakket draait Varnish vanaf de eerste minuut, met de VCL gegenereerd voor je winkel.

Breng je winkel mee. Wij verhuizen hem gratis.

Kies een pakket, kies een platform, en je winkel staat online voordat je koffie koud is.

Prijzen zijn inclusief btw. Serversupport bij elk pakket.