Semaine 7 · Laboratoire

Varnish
devant Apache

Une nouvelle instance, une cache en avant du web, et des chiffres qui fondent : le laboratoire 2 de l'Application distribuée.

420-5A4-MT · Acte 6 · L'essaimage
La mission du jour

À la fin de la séance, vous aurez :

Prérequis : l'ensemble mysql10 + http20 de la semaine 6, fonctionnel. Minimum 2 commits pertinents en classe cette semaine.

Étape 1

La nouvelle instance et Varnish

# une instance varnish30 selon votre infrastructure (reference : 192.168.56.30)
sudo apt update
sudo apt install varnish net-tools
sudo netstat -tulpn | grep varnishd
# varnishd ecoute pour l'instant sur son port par defaut (6081)

Rappel clonage : nouvelle adresse MAC, nouveau nom d'hôte (varnish30), nouvelle adresse IP. Un clone qui garde l'identité de son parent sème le chaos sur le réseau.

Étape 2

Varnish prend le port 80

sudo systemctl edit varnish.service
[Service]
ExecStart=
ExecStart=/usr/sbin/varnishd -j unix,user=vcache -F -a ADRESSE_DE_VARNISH30:80 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret
sudo systemctl daemon-reload
sudo systemctl restart varnish.service

Le pare-feu de varnish30 s'ouvre au strict nécessaire : le port 80 pour les visiteurs, le 22 pour vous.

Étape 3

Le backend, et Apache qui se replie

# sur varnish30 : declarer le fournisseur
sudo nano /etc/varnish/default.vcl
backend default { .host = "ADRESSE_DE_HTTP20"; .port = "80"; }
# sur http20 : ecouter seulement sur sa propre adresse
sudo nano /etc/apache2/ports.conf
sudo nano /etc/apache2/sites-enabled/000-default.conf
<VirtualHost ADRESSE_DE_HTTP20:80>
sudo systemctl restart apache2.service
Étape 4

WordPress déménage officiellement

sudo varnishstat -1 | grep -i cache
MAIN.cache_hit 412
MAIN.cache_miss 37
Étape 5

La preuve par les chiffres

Avant de partir

Livrables et devoir

La semaine prochaine, l'acte 7 : tout passe par une seule cache, un seul chemin. On double tout - deux Varnish, deux HAproxy, une IP virtuelle - et on éteindra le maître en pleine charge pour voir le site survivre.

Version de départ · ce diaporama va s'enrichir