Varnish Cache · 7 min read · Feb 12, 2026
Installa Varnish Cache 6 per Apache/Nginx su CentOS 8

Varnish Cache è un potente proxy HTTP inverso utilizzato per accelerare le applicazioni web ed è disponibile come software Open-Source. Varnish memorizza nella cache sia contenuti statici che dinamici. Gestisce tutte le richieste in entrata prima che arrivino al backend del tuo server web. Si trova tra un browser web e il server web Apache o Nginx. La cache di Varnish memorizza tutte le richieste di pagina in arrivo in memoria, in modo che i server web non debbano creare la stessa pagina web ripetutamente.
In questo post, ti mostreremo come installare la cache di Varnish con Apache e Nginx su CentOS 8.
Prerequisiti
- Un server che esegue CentOS 8.
- Una password di root configurata sul tuo server.
Iniziare
Prima di iniziare, si consiglia di aggiornare i pacchetti di sistema all’ultima versione. Puoi aggiornarli eseguendo il seguente comando:
dnf update -yUna volta aggiornati tutti i pacchetti, puoi procedere al passaggio successivo.
Installa Varnish
Per impostazione predefinita, il pacchetto Varnish è incluso nel repository predefinito di CentOS 8. Puoi installarlo eseguendo il seguente comando:
dnf install varnish -yDopo aver installato Varnish, modifica il file di configurazione predefinito di Varnish e definisci l’indirizzo del server web Nginx o Apache.
nano /etc/varnish/default.vclCambia le seguenti righe:
backend default {
.host = "127.0.0.1";
.port = "8080";
}
Salva e chiudi il file quando hai finito.
Configura Varnish
Per impostazione predefinita, Varnish ascolta sulla porta 6081. Quindi dovrai configurare Varnish per ascoltare sulla porta 80. Puoi configurarlo modificando il file varnish.service:
nano /lib/systemd/system/varnish.serviceTrova la seguente riga:
ExecStart=/usr/sbin/varnishd -a :6081 -f /etc/varnish/default.vcl -s malloc,256m
Sostituiscila con la seguente riga:
ExecStart=/usr/sbin/varnishd -a :80 -f /etc/varnish/default.vcl -s malloc,256m
Salva e chiudi il file, quindi ricarica il demone systemd per applicare le modifiche:
systemctl daemon-reloadSuccessivamente, avvia il servizio Varnish e abilitalo per avviarsi al riavvio del sistema con il seguente comando:
systemctl start varnish
systemctl enable varnishPuoi anche controllare lo stato di Varnish con il seguente comando:
systemctl status varnishDovresti ottenere il seguente output:
? varnish.service - Varnish Cache, un acceleratore HTTP ad alte prestazioni
Loaded: loaded (/usr/lib/systemd/system/varnish.service; disabled; vendor preset: disabled)
Active: active (running) since Fri 2021-03-12 04:17:32 EST; 4s ago
Process: 6391 ExecStart=/usr/sbin/varnishd -a :80 -f /etc/varnish/default.vcl -s malloc,256m (code=exited, status=0/SUCCESS)
Main PID: 6392 (varnishd)
Tasks: 217
Memory: 99.5M
CGroup: /system.slice/varnish.service
??6392 /usr/sbin/varnishd -a :80 -f /etc/varnish/default.vcl -s malloc,256m
??6402 /usr/sbin/varnishd -a :80 -f /etc/varnish/default.vcl -s malloc,256m
Mar 12 04:17:32 masternode systemd[1]: Starting Varnish Cache, un acceleratore HTTP ad alte prestazioni...
Mar 12 04:17:32 masternode varnishd[6391]: Debug: Version: varnish-6.0.6 revision 29a1a8243dbef3d973aec28dc90403188c1dc8e7
Mar 12 04:17:32 masternode varnishd[6391]: Debug: Platform: Linux,4.18.0-193.6.3.el8_2.x86_64,x86_64,-junix,-smalloc,-sdefault,-hcritbit
Mar 12 04:17:32 masternode varnishd[6392]: Version: varnish-6.0.6 revision 29a1a8243dbef3d973aec28dc90403188c1dc8e7
Mar 12 04:17:32 masternode varnishd[6392]: Platform: Linux,4.18.0-193.6.3.el8_2.x86_64,x86_64,-junix,-smalloc,-sdefault,-hcritbit
Mar 12 04:17:32 masternode varnishd[6391]: Debug: Child (6402) Started
Mar 12 04:17:32 masternode varnishd[6392]: Child (6402) Started
Mar 12 04:17:32 masternode varnishd[6392]: Child (6402) said Child starts
Mar 12 04:17:32 masternode systemd[1]: Started Varnish Cache, un acceleratore HTTP ad alte prestazioni.
A questo punto, Varnish è avviato e ascolta sulla porta 80. Puoi controllarlo con il seguente comando:
ss -antpl | grep varnishdDovresti ottenere il seguente output:
LISTEN 0 10 127.0.0.1:34977 0.0.0.0:* users:(("varnishd",pid=1532,fd=11))
LISTEN 0 128 0.0.0.0:80 0.0.0.0:* users:(("cache-main",pid=1542,fd=6),("varnishd",pid=1532,fd=6))
LISTEN 0 128 [::]:80 [::]:* users:(("cache-main",pid=1542,fd=7),("varnishd",pid=1532,fd=7))
LISTEN 0 10 [::1]:34909 [::]:* users:(("varnishd",pid=1532,fd=10))
A questo punto, Varnish è installato e configurato. Puoi ora procedere al passaggio successivo.
Installa e configura Nginx per lavorare con Varnish
Per prima cosa, dovrai installare il pacchetto Nginx sul tuo server. Puoi installarlo con il seguente comando:
dnf install nginx -yUna volta installato, dovrai cambiare la porta di ascolto di Nginx da 80 a 8080. Puoi farlo modificando il file di configurazione predefinito di Nginx:
nano /etc/nginx/nginx.confCambia le seguenti righe:
listen 8080 default_server;
listen [::]:8080 default_server;
Salva e chiudi il file, quindi verifica la sintassi di Nginx per eventuali errori utilizzando il seguente comando:
ginx -tDovresti ottenere il seguente output:
nginx: il file di configurazione /etc/nginx/nginx.conf ha una sintassi corretta
ginx: il test del file di configurazione /etc/nginx/nginx.conf è riuscito
Successivamente, avvia il servizio Nginx e abilitalo per avviarsi al riavvio del sistema:
systemctl start nginx
systemctl enable nginxPuoi anche verificare la porta di ascolto di Nginx con il seguente comando:
ss -antpl | grep 8080Dovresti ottenere il seguente output:
LISTEN 0 128 0.0.0.0:8080 0.0.0.0:* users:(("nginx",pid=5569,fd=8),("nginx",pid=5568,fd=8))
LISTEN 0 128 [::]:8080 [::]:* users:(("nginx",pid=5569,fd=9),("nginx",pid=5568,fd=9))
A questo punto, la cache di Varnish è installata e configurata per inoltrare tutte le richieste che arrivano sulla porta 80 al server web Nginx che ascolta sulla porta 8080.
Puoi verificare se la cache di Varnish sta funzionando o meno con il seguente comando:
curl -I http://localhostDovresti ottenere il seguente output:
HTTP/1.1 200 OK
Server: nginx/1.14.1
Date: Fri, 12 Mar 2021 09:18:32 GMT
Content-Type: text/html
Content-Length: 4057
Last-Modified: Mon, 07 Oct 2019 21:16:24 GMT
ETag: "5d9bab28-fd9"
X-Varnish: 2
Age: 0
Via: 1.1 varnish (Varnish/6.0)
Accept-Ranges: bytes
Connection: keep-alive
Installa e configura Apache per lavorare con Varnish
Per prima cosa, dovrai installare il pacchetto del server web Apache sul tuo sistema. Puoi installarlo con il seguente comando:
dnf install httpd -yDopo aver installato Apache, modifica il file di configurazione predefinito di Apache e cambia la porta di ascolto da 80 a 8080.
nano /etc/httpd/conf/httpd.confCambia la seguente riga:
Listen 8080
Salva e chiudi il file, quindi avvia il servizio Apache e abilitalo per avviarsi al riavvio del sistema con il seguente comando:
systemctl start httpd
systemctl enable httpdPuoi anche verificare la porta di ascolto di Apache con il seguente comando:
ss -antpl | grep httpdDovresti ottenere il seguente output:
LISTEN 0 128 *:8080 *:* users:(("httpd",pid=7556,fd=4),("httpd",pid=7555,fd=4),("httpd",pid=7554,fd=4),("httpd",pid=7552,fd=4))
A questo punto, la cache di Varnish è installata e configurata per inoltrare tutte le richieste che arrivano sulla porta 80 al server web Apache che ascolta sulla porta 8080.
Puoi verificare se la cache di Varnish sta funzionando o meno con il seguente comando:
curl -I http://localhostDovresti ottenere il seguente output:
Date: Fri, 12 Mar 2021 09:21:14 GMT
Server: Apache/2.4.37 (centos)
Content-Location: index.html.zh-CN
Vary: negotiate,accept-language
TCN: choice
Last-Modified: Fri, 14 Jun 2019 03:37:43 GMT
ETag: "fa6-58b405e7d6fc0;5bd5365602e05"
Accept-Ranges: bytes
Content-Length: 4006
Content-Type: text/html; charset=UTF-8
Content-Language: zh-cn
X-Varnish: 2
Age: 0
Via: 1.1 varnish (Varnish/6.0)
Connection: keep-alive
Lavorare con la linea di comando di Varnish
Varnish viene fornito con diverse utilità utili che ti aiutano a monitorare e controllare Varnish.
varnishadm è un’utilità da riga di comando utilizzata per elencare i backend configurati.
varnishadmDovresti vedere il seguente output:
200
-----------------------------
Varnish Cache CLI 1.0
-----------------------------
Linux,4.18.0-193.6.3.el8_2.x86_64,x86_64,-junix,-smalloc,-sdefault,-hcritbit
varnish-6.0.6 revision 29a1a8243dbef3d973aec28dc90403188c1dc8e7
Type 'help' for command list.
Type 'quit' to close CLI session.
Ora, esegui il seguente comando per elencare tutti i backend:
varnish> backend.listDovresti vedere il seguente output:
200
Backend name Admin Probe Last updated
boot.default probe Healthy (no probe) Sat, 13 Mar 2021 03:00:02 GMT
varnishlog
L’utilità varnishlog viene utilizzata per visualizzare i log di tutte le richieste degli utenti.
varnishlogDovresti ottenere il seguente output:
* << BeReq >> 6
- Begin bereq 5 fetch
- VCL_use boot
- Timestamp Start: 1615604631.507187 0.000000 0.000000
- BereqMethod GET
- BereqURL /
- BereqProtocol HTTP/1.1
- BereqHeader Host: 69.87.218.214
- BereqHeader Upgrade-Insecure-Requests: 1
- BereqHeader User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36
- BereqHeader Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
- BereqHeader Accept-Language: en-GB,en-US;q=0.9,en;q=0.8
- BereqHeader X-Forwarded-For: 106.213.193.241
- BereqHeader Accept-Encoding: gzip
- BereqHeader X-Varnish: 6
- VCL_call BACKEND_FETCH
- VCL_return fetch
- BackendOpen 31 boot.default 127.0.0.1 8080 127.0.0.1 58860
- BackendStart 127.0.0.1 8080
- Timestamp Bereq: 1615604631.507458 0.000270 0.000270
- Timestamp Beresp: 1615604631.507844 0.000657 0.000386
- BerespProtocol HTTP/1.1
- BerespStatus 200
- BerespReason OK
- BerespHeader Server: nginx/1.14.1
- BerespHeader Date: Sat, 13 Mar 2021 03:03:51 GMT
- BerespHeader Content-Type: text/html
- BerespHeader Content-Length: 4057
- BerespHeader Last-Modified: Mon, 07 Oct 2019 21:16:24 GMT
varnishstat
Il comando varnishstat ti fornisce informazioni sulle statistiche in memoria, lo storage, i thread creati e gli oggetti eliminati.
varnishstatDovresti vedere il seguente schermo:

varnishtop
Il comando varnishtop legge i log di memoria condivisa di varnishd e presenta un elenco continuamente aggiornato delle voci di log più comuni.
varnishtopDovresti vedere il seguente schermo:

varnishhist
Varnishhist analizza i log di varnish e stampa le ultime n richieste in base al loro processamento.
varnishhistDovresti vedere il seguente schermo:

Conclusione
Nella guida sopra, hai imparato come installare e configurare la cache di Varnish con il server web Apache e Nginx. Puoi ora implementare la cache di Varnish nell’ambiente di produzione e migliorare le prestazioni del tuo sito web. Non esitare a chiedermi se hai domande.
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.