August 28, 2026 · by Alex M.
Dacă site-ul tău primește trafic consistent și vrei să reduci timpul de răspuns al serverului fără să investești imediat în resurse suplimentare, Varnish Cache este una dintre cele mai eficiente soluții disponibile. Varnish este un accelerator HTTP (HTTP reverse proxy cache) care stochează răspunsurile serverului în memorie RAM, servind conținut static și dinamic de zeci de ori mai rapid decât fără caching.
În acest ghid vei afla cum să instalezi și să configurezi Varnish Cache pe un VPS Linux NVMe cu Ubuntu 22.04, alături de Nginx ca server web backend.
Varnish Cache funcționează ca un intermediar între utilizator și serverul tău web (Nginx sau Apache). Când un vizitator solicită o pagină, Varnish verifică mai întâi dacă are o versiune salvată în cache. Dacă da, o servește instantaneu fără să mai consulte PHP, baza de date sau orice altă resursă backend.
Beneficii concrete:
- Reducerea timpului de răspuns de la sute de milisecunde la sub 5ms pentru paginile cachuite
- Scăderea consumului de CPU și RAM pe backend
- Suportarea unui număr mult mai mare de vizitatori simultan
- Compatibilitate excelentă cu WordPress, Joomla, Magento și alte CMS-uri
Pentru a profita la maximum de Varnish, ai nevoie de un server cu RAM suficient. Un VPS SSD performant cu minim 2 GB RAM este un punct de plecare bun.
Înainte de a începe, asigură-te că ai:
- Un VPS cu Ubuntu 22.04 (sau Debian 11/12)
- Acces root sau sudo
- Nginx instalat și funcțional
- Un domeniu configurat care pointează către serverul tău
Dacă nu ai încă un server configurat, poți explora opțiunile noastre de VPS cu administrare inclusă pentru a porni rapid.
Actualizează mai întâi lista de pachete:
sudo apt update && sudo apt upgrade -y
Instalează Varnish din repozitoriile oficiale Ubuntu:
sudo apt install varnish -y
Verifică versiunea instalată:
varnishd -V
Pentru o versiune mai nouă (ex. Varnish 7.x), poți folosi repozitoriul oficial Varnish:
curl -s https://packagecloud.io/install/repositories/varnishcache/varnish74/script.deb.sh | sudo bash
sudo apt install varnish -y
Varnish va asculta pe portul 80 (HTTP public), iar Nginx va rula pe portul 8080 ca backend. Editează configurația Nginx:
sudo nano /etc/nginx/sites-available/default
Modifică linia listen:
server {
listen 8080;
server_name exemplu.com www.exemplu.com;
root /var/www/html;
index index.php index.html;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
}
}
Restartează Nginx:
sudo systemctl restart nginx
Editează fișierul de serviciu systemd al Varnish:
sudo nano /etc/systemd/system/varnish.service
Sau creează un override:
sudo systemctl edit varnish
Adaugă/modifică secțiunea [Service]:
[Service]
ExecStart=
ExecStart=/usr/sbin/varnishd \
-a :80 \
-f /etc/varnish/default.vcl \
-s malloc,256m
Reîncarcă systemd și restartează Varnish:
sudo systemctl daemon-reload
sudo systemctl restart varnish
sudo systemctl enable varnish
Fișierul principal de configurare este /etc/varnish/default.vcl. Acesta este scris în VCL — limbajul de configurare propriu Varnish.
Deschide fișierul:
sudo nano /etc/varnish/default.vcl
O configurație de bază pentru WordPress arată astfel:
vcl 4.1;
backend default {
.host = "127.0.0.1";
.port = "8080";
}
sub vcl_recv {
# Nu cacheia requesturi autentificate sau cosuri de cumparaturi
if (req.http.Cookie ~ "wordpress_logged_in|woocommerce_cart") {
return(pass);
}
# Nu cacheia zona de admin
if (req.url ~ "^/wp-admin" || req.url ~ "^/wp-login.php") {
return(pass);
}
# Sterge cookieurile pentru continut static
if (req.url ~ "\.(css|js|png|jpg|gif|ico|woff2|svg)$") {
unset req.http.Cookie;
return(hash);
}
return(hash);
}
sub vcl_backend_response {
# Cache pentru 1 ora implicit
set beresp.ttl = 1h;
set beresp.grace = 15m;
}
sub vcl_deliver {
# Adauga header pentru debug
if (obj.hits > 0) {
set resp.http.X-Cache = "HIT";
} else {
set resp.http.X-Cache = "MISS";
}
}
Restartează Varnish după modificări:
sudo systemctl restart varnish
Folosește curl pentru a verifica dacă Varnish funcționează corect:
curl -I http://exemplu.com
Caută în răspuns header-ul X-Cache:
HTTP/1.1 200 OK
X-Cache: MISS ← primul request (cache gol)
Repetă comanda:
curl -I http://exemplu.com
HTTP/1.1 200 OK
X-Cache: HIT ← al doilea request (servit din cache)
Puteți folosi și varnishstat pentru statistici în timp real:
varnishstat
Sau varnishlog pentru a vedea requesturile live:
varnishlog
Varnish nu gestionează nativ HTTPS. Soluția standard este să pui Nginx pe portul 443 ca SSL terminator, care trimite traficul decriptat către Varnish pe portul 80.
Fluxul complet: Client → Nginx:443 (SSL) → Varnish:80 → Nginx:8080 (backend)
Adaugă un bloc server în Nginx pentru HTTPS:
server {
listen 443 ssl http2;
server_name exemplu.com www.exemplu.com;
ssl_certificate /etc/letsencrypt/live/exemplu.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/exemplu.com/privkey.pem;
location / {
proxy_pass http://127.0.0.1:80;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
}
}
Dacă nu ai încă un certificat SSL, verifică serviciile noastre de certificate SSL profesionale sau configurează gratuit Let's Encrypt cu Certbot.
Când publici conținut nou, trebuie să golești cache-ul Varnish. Adaugă suport pentru purge în VCL:
acl purge {
"127.0.0.1";
"localhost";
}
sub vcl_recv {
if (req.method == "PURGE") {
if (!client.ip ~ purge) {
return(synth(405, "Not allowed"));
}
return(purge);
}
# ... restul configuratiei
}
Trimite o comandă de purge manual:
curl -X PURGE http://exemplu.com/pagina-de-purge
Pentru WordPress există plugin-ul Proxy Cache Purge (fost Varnish HTTP Purge) care automatizează acest proces.
-s malloc,256m și setează o valoare mai mare (ex. 512m sau 1g) în funcție de RAM-ul disponibilDacă site-ul tău a crescut și Varnish singur nu mai face față, ia în considerare un server dedicat managed unde poți configura arhitecturi mai complexe.
Comenzile utile de monitorizare:
# Statistici globale
varnishstat -1
# Hit rate (raport cache)
varnishstat -1 -f MAIN.cache_hit -f MAIN.cache_miss
# Loguri filtrate
varnishtop -i RespHeader
Un hit rate de peste 80% este considerat excelent. Dacă este sub 50%, revizuiește regulile VCL pentru a exclude prea mult conținut de la caching.
Varnish Cache este un instrument puternic care poate transforma radical viteza site-ului tău cu efort relativ redus de configurare. Combinat cu un VPS NVMe rapid și un certificat SSL valid, obții o infrastructură web modernă capabilă să gestioneze trafic ridicat cu resurse minime.
Dacă preferi să lași configurarea serverului pe mâini experților, echipa CLIQHOST oferă servicii de administrare servere Linux la cerere. Contactează-ne prin pagina de contact sau explorează mai multe tutoriale pe blogul nostru tehnic.
Recenzii reale de la clienți care au ales CLIQHOST pentru performanță, fiabilitate și suport tehnic.
"We moved our online shop from a foreign host and the difference is night and day — pages load instantly and support replies in minutes, in Romanian."
"Migrated 12 client sites to CLIQHOST. Free migration, zero downtime, and the cPanel setup is exactly what my team needed. Highly recommend."
"Our NVMe VPS handles traffic spikes without a sweat. Full root, local datacenter, and billing in MDL — everything we wanted from a provider."