Varnish

Comme vous pouvez le voir le blog a revêtu une nouvelle peau, mais également aussi un nouveau moteur de fonctionnement.

J’ai nommé le cache Varnish, en quelques mots c’est un cache très puissant et rapide qui s’intercale entre vos clients et votre serveur afin de l’alléger un maximum.

Ses gros points forts :

  • Sa haute possibilité de configuration tout en gardant un fichier de configuration fort simple à lire
  • Sa configuration transformée en C puis compilée en objet au moment du démarrage du serveur avec la puissance et la vitesse que ça peut permettre vs une lecture de fichier de config ou un langage interprété.
  • Une mise en place néanmoins plutôt simple si on ne veut pas trop toucher.

Le commencement

Je vous passe les étapes d’installation et j’imagine que vous voulez directement le lancer en prod.

Qui dit serveur/proxy http dit port 80 et pour cela il vous suffit de remplacer la partie suivante dans le fichier ‘/etc/default/varnish

DAEMON_OPTS=”-a :6081 \
-T localhost:6082 \

DAEMON_OPTS=”-T localhost:6082 \

Coté serveur (apache)

Et d’ensuite remplacer toute référence au port 80 dans votre fichier de config de votre serveur habituel.

Moi c’est un apache et j’ai du changer dans le fichier ‘ports.conf‘ les directives:

NameVirtualHost *:8888
Listen 8888

Ici j’ai choisi le port 8888. Une idée intéressante pourrait être de limiter l’accès à l’ip qui contient votre serveur Varnish, et empêcher ainsi une connexion directe sur le serveur http.
Il ne faut pas oublier de changer chaque Virtual host qui doit donc contenir une ligne de ce style :

<VirtualHost *:8888>

Varnish Config

Dans le fichier ‘/etc/varnish/default.vcl’ on parle le VCL. Rien de très sorcier et la doc est claire à ce propos.

backend default {
.host = “127.0.0.1”;
.port = “8888”;
}

ça définit le backend sur l’ip localhost et sur le port défini dans apache.

Relancer les deux serveurs devrait suffire à le faire tourner.

Ips incorrectes

Évidemment toutes vos requêtes viennent de 127.0.0.1 maintenant, j’avais trouvé une solution qui s’occupait de faire dire la vérité aux logs d’apache (mais pas aux scripts PHP derrière) mais il y’a mieux :

apt-get install libapache2-mod-rpaf

fera votre bonheur, il s’occupe de récupérer la bonne IP auprès du reverse proxy et d’avoir donc des infos correctes pour vos logs et vos scripts PHP.

Documentation :

Pour aller avec la doc de référence le tit schéma des appels intra -varnish :

Enjoy it ;)

 

Posted in Web by El Gnap at December 24th, 2011.
Tags: , , , , , ,

One Response to “Varnish”

  1. […] Pour Apache il faut aller tout d’abord modifier le fichier ports.conf à la main et puis utiliser la commande suivante dans le dossier  /etc/apache2/sites-enabled comme j’aurai pu le faire dans mon article Varnish (expliquant où il faut changer les ports dans Apache) […]