Varnish Cache · 7 min read · Feb 12, 2026
Installer Varnish Cache 6 pour Apache/Nginx sur CentOS 8

Varnish Cache est un puissant proxy HTTP inverse utilisé pour accélérer les applications web, disponible en tant que logiciel Open-Source. Varnish met en cache à la fois le contenu statique et dynamique. Il gère toutes les requêtes entrantes avant qu’elles n’atteignent votre serveur web. Il se situe entre un navigateur web et un serveur web Apache ou Nginx. Le cache Varnish stocke toutes les requêtes de page entrantes en mémoire, de sorte que les serveurs web n’ont pas à créer la même page web encore et encore.
Dans cet article, nous allons vous montrer comment installer le cache Varnish avec Apache et Nginx sur CentOS 8.
Prérequis
- Un serveur exécutant CentOS 8.
- Un mot de passe root configuré sur votre serveur.
Prise en main
Avant de commencer, il est recommandé de mettre à jour les paquets de votre système vers la dernière version. Vous pouvez les mettre à jour en exécutant la commande suivante :
dnf update -yUne fois tous les paquets mis à jour, vous pouvez passer à l’étape suivante.
Installer Varnish
Par défaut, le paquet Varnish est inclus dans le dépôt par défaut de CentOS 8. Vous pouvez l’installer en exécutant la commande suivante :
dnf install varnish -yAprès avoir installé Varnish, éditez le fichier de configuration par défaut de Varnish et définissez l’adresse du serveur web Nginx ou Apache.
nano /etc/varnish/default.vclChangez les lignes suivantes :
backend default {
.host = "127.0.0.1";
.port = "8080";
}
Enregistrez et fermez le fichier lorsque vous avez terminé.
Configurer Varnish
Par défaut, Varnish écoute sur le port 6081. Vous devrez donc configurer Varnish pour écouter sur le port 80. Vous pouvez le configurer en éditant le fichier varnish.service :
nano /lib/systemd/system/varnish.serviceTrouvez la ligne suivante :
ExecStart=/usr/sbin/varnishd -a :6081 -f /etc/varnish/default.vcl -s malloc,256m
Remplacez-la par la ligne suivante :
ExecStart=/usr/sbin/varnishd -a :80 -f /etc/varnish/default.vcl -s malloc,256m
Enregistrez et fermez le fichier, puis rechargez le démon systemd pour appliquer les modifications :
systemctl daemon-reloadEnsuite, démarrez le service Varnish et activez-le pour qu’il démarre au redémarrage du système avec la commande suivante :
systemctl start varnish
systemctl enable varnishVous pouvez également vérifier l’état de Varnish avec la commande suivante :
systemctl status varnishVous devriez obtenir la sortie suivante :
? varnish.service - Varnish Cache, un accélérateur HTTP haute performance
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 accélérateur HTTP haute performance...
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 accélérateur HTTP haute performance.
À ce stade, Varnish est démarré et écoute sur le port 80. Vous pouvez le vérifier avec la commande suivante :
ss -antpl | grep varnishdVous devriez obtenir la sortie suivante :
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))
À ce stade, Varnish est installé et configuré. Vous pouvez maintenant passer à l’étape suivante.
Installer et configurer Nginx pour travailler avec Varnish
Tout d’abord, vous devrez installer le paquet Nginx sur votre serveur. Vous pouvez l’installer avec la commande suivante :
dnf install nginx -yUne fois installé, vous devrez changer le port d’écoute de Nginx de 80 à 8080. Vous pouvez le faire en éditant le fichier de configuration par défaut de Nginx :
nano /etc/nginx/nginx.confChangez les lignes suivantes :
listen 8080 default_server;
listen [::]:8080 default_server;
Enregistrez et fermez le fichier, puis vérifiez la syntaxe de Nginx pour toute erreur à l’aide de la commande suivante :
nginx -tVous devriez obtenir la sortie suivante :
nginx: le fichier de configuration /etc/nginx/nginx.conf a une syntaxe correcte
nginx: le test du fichier de configuration /etc/nginx/nginx.conf est réussi
Ensuite, démarrez le service Nginx et activez-le pour qu’il démarre au redémarrage du système :
systemctl start nginx
systemctl enable nginxVous pouvez également vérifier le port d’écoute de Nginx avec la commande suivante :
ss -antpl | grep 8080Vous devriez obtenir la sortie suivante :
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))
À ce stade, le cache Varnish est installé et configuré pour transférer toutes les requêtes arrivant sur le port 80 vers le serveur web Nginx qui écoute sur le port 8080.
Vous pouvez vérifier si le cache Varnish fonctionne ou non avec la commande suivante :
curl -I http://localhostVous devriez obtenir la sortie suivante :
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
Installer et configurer Apache pour travailler avec Varnish
Tout d’abord, vous devrez installer le paquet du serveur web Apache sur votre système. Vous pouvez l’installer avec la commande suivante :
dnf install httpd -yAprès avoir installé Apache, éditez le fichier de configuration par défaut d’Apache et changez le port d’écoute de 80 à 8080.
nano /etc/httpd/conf/httpd.confChangez la ligne suivante :
Listen 8080
Enregistrez et fermez le fichier, puis démarrez le service Apache et activez-le pour qu’il démarre au redémarrage du système avec la commande suivante :
systemctl start httpd
systemctl enable httpdVous pouvez également vérifier le port d’écoute d’Apache avec la commande suivante :
ss -antpl | grep httpdVous devriez obtenir la sortie suivante :
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))
À ce stade, le cache Varnish est installé et configuré pour transférer toutes les requêtes arrivant sur le port 80 vers le serveur web Apache qui écoute sur le port 8080.
Vous pouvez vérifier si le cache Varnish fonctionne ou non avec la commande suivante :
curl -I http://localhostVous devriez obtenir la sortie suivante :
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
Travailler avec la ligne de commande Varnish
Varnish est livré avec plusieurs utilitaires utiles qui vous aident à surveiller et contrôler Varnish.
varnishadm est un utilitaire en ligne de commande utilisé pour lister les backends configurés.
varnishadmVous devriez voir la sortie suivante :
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.
Maintenant, exécutez la commande suivante pour lister tous les backends :
varnish> backend.listVous devriez voir la sortie suivante :
200
Backend name Admin Probe Last updated
boot.default probe Healthy (no probe) Sat, 13 Mar 2021 03:00:02 GMT
varnishlog
L’utilitaire varnishlog est utilisé pour afficher les journaux de toutes les requêtes des utilisateurs.
varnishlogVous devriez obtenir la sortie suivante :
* << 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
La commande varnishstat vous fournit des informations sur les statistiques en mémoire, le stockage, les threads créés et les objets supprimés.
varnishstatVous devriez voir l’écran suivant :

varnishtop
La commande varnishtop lit les journaux de mémoire partagée de varnishd et présente une liste mise à jour en continu des entrées de journal les plus courantes.
varnishtopVous devriez voir l’écran suivant :

varnishhist
Varnishhist analyse les journaux de varnish et imprime les dernières n requêtes par leur traitement.
varnishhistVous devriez voir l’écran suivant :

Conclusion
Dans le guide ci-dessus, vous avez appris comment installer et configurer le cache Varnish avec le serveur web Apache et Nginx. Vous pouvez maintenant mettre en œuvre le cache Varnish dans l’environnement de production et améliorer les performances de votre site web. N’hésitez pas à me poser des questions si vous en avez.
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.