Outils pour utilisateurs

Outils du site


issue57:tutovarnish

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
issue57:tutovarnish [2012/02/06 21:50] – créée fredphil91issue57:tutovarnish [2012/03/13 13:38] (Version actuelle) auntiee
Ligne 1: Ligne 1:
 +**
 If you operate a web server, pay attention. This article will help you accelerate your page loads and provide you with a more secure network. Varnish is a state of the art web application accelerator. You can operate Varnish on the localhost or use a dedicated box. Varnish is extremely efficient at its job because it was built specifically to cache web requests. Unlike Squid and others, Varnish has one job, which it does very well - cache. If you operate a web server, pay attention. This article will help you accelerate your page loads and provide you with a more secure network. Varnish is a state of the art web application accelerator. You can operate Varnish on the localhost or use a dedicated box. Varnish is extremely efficient at its job because it was built specifically to cache web requests. Unlike Squid and others, Varnish has one job, which it does very well - cache.
  
 All requests are passed through the Varnish Configuration Language or regular expressions (regex). Varnish Web Cache uses the highly flexible Perl Compatible Regular Expressions (PCRE) regex, which is currently found in high profile projects such as Apache, PHP, KDE, Postfix, Analog, and Nmap. The default configuration is generally enough to get you going with a basic HTML/CSS driven website. However, if you operate a Content Management Driven site, or anything with Cookies, you will need to do some tweaking so that you are not caching cookies during login. All requests are passed through the Varnish Configuration Language or regular expressions (regex). Varnish Web Cache uses the highly flexible Perl Compatible Regular Expressions (PCRE) regex, which is currently found in high profile projects such as Apache, PHP, KDE, Postfix, Analog, and Nmap. The default configuration is generally enough to get you going with a basic HTML/CSS driven website. However, if you operate a Content Management Driven site, or anything with Cookies, you will need to do some tweaking so that you are not caching cookies during login.
 +**
  
 +Si vous faites tourner un serveur web, lisez ce qui suit. Cet article va vous aider à accélérer vos chargements de pages et vous donner un réseau plus sécurisé. Varnish est un accélérateur d'application web de pointe . Vous pouvez utiliser Varnish sur le serveur même ou utiliser une machine dédiée. Varnish est extrêmement efficace parce qu'il a été conçu spécifiquement pour mettre en cache les requêtes Web. Contrairement à Squid et d'autres, Varnish a une seule fonction, qui est très bien faite : le cache.
 +
 +Toutes les demandes sont transmises à travers le langage de configuration Varnish ou des expressions régulières (regex). Le Cache Web Varnish utilise les très souples expressions régulières compatibles Perl (Perl Compatible Regular Expressions - PCRE), que l'on trouve actuellement dans des projets de prestige tels que Apache, PHP, KDE, Postfix, Analog, et Nmap. La configuration par défaut est généralement suffisante pour vous permettre de travailler avec un site web de base en HTML / CSS. Toutefois, si vous exploitez un site avec de la gestion de contenu, ou quoi que ce soit avec les cookies, vous devrez faire quelques ajustements afin de ne pas mettre en cache des cookies lors de la connexion.
 +
 +
 +**
 Installing Varnish on Ubuntu Installing Varnish on Ubuntu
  
Ligne 14: Ligne 22:
  
 apt-get install varnish apt-get install varnish
 +**
  
 +Installation de Varnish sur Ubuntu
 +
 +Au moment où j'écris, la version actuelle de Varnish est la 3.0.2. Le dépôt Ubuntu apt-get contient le paquet Varnish, mais je recommande fortement d'utiliser la dernière version stable sur http://varnish-cache.org. Voici 4 commandes simples à entrer dans un terminal, ce qui ajoutera la clé GPG de Varnish et le dépôt du logiciel Varnish et installera la dernière version du logiciel :
 +
 +curl http://repo.varnish-cache.org/debian/GPG-key.txt | apt-key add -
 +
 +echo "deb http://repo.varnish-cache.org/debian/ $(lsb_release -s -c) varnish-3.0" >> /etc/apt/sources.list.d/varnish.list
 +
 +apt-get update
 +
 +apt-get install varnish
 +
 +
 +**
 Configuring /etc/default/varnish Configuring /etc/default/varnish
  
Ligne 25: Ligne 48:
 -S (the secret password file (by default, a secret file is generated in /etc/varnish/)) -S (the secret password file (by default, a secret file is generated in /etc/varnish/))
 -s (malloc or file cache storage). -s (malloc or file cache storage).
 +**
  
 +Configuration de /etc/default/varnish
 +
 +Le fichier varnish indique au logiciel comment il doit stocker les fichiers mis en cache, (malloc [Ndt : en mémoire vive] ou fichier), le port auquel se connecter et d'autres détails de premier ordre. Lorsque vous installez Varnish la première fois, vous aurez besoin de modifier ce fichier et changer la ligne 4 de « START=no » en « START=yes » pour activer votre cache.  Toutes les valeurs par défaut sont acceptables en général. La principale composante de votre configuration dans le fichier varnish comprend les informations dans l'encadré ci-dessous.
 +
 +Les options de configuration primaires comprennent :
 + -a (port d'écoute de Varnish (le port que le public va utiliser pour accéder au contenu - devrait être le port 80)).
 + -T (port d'écoute d'admin).
 + -F (emplacement du fichier de configuration VCL).
 + -S (le fichier de mot de passe secret (par défaut, un fichier secret est généré dans /etc/varnish/)).
 + -s (stockage du cache par malloc ou par fichiers).
 +
 +**
 File or Malloc Cache Storage File or Malloc Cache Storage
  
 File storage configures the cache to place less used cached objects on hard disk, while more frequently used data are stored in RAM. Malloc storage keeps everything in RAM. Malloc storage will always be much faster than disk. However, if you have to use file storage, use an SSD as your storage medium. File storage configures the cache to place less used cached objects on hard disk, while more frequently used data are stored in RAM. Malloc storage keeps everything in RAM. Malloc storage will always be much faster than disk. However, if you have to use file storage, use an SSD as your storage medium.
 +**
  
 +Stockage du cache Malloc ou Fichier
 +
 +Le stockage par fichiers configure le cache pour qu'il place les objets les moins utilisés sur le disque dur, tandis que les données les plus fréquemment utilisées sont stockées dans la RAM. Le stockage par malloc garde tout en mémoire. Le stockage malloc sera toujours beaucoup plus rapide que sur le disque. Cependant, si vous devez utiliser le stockage de fichiers, prenez un SSD comme support de stockage.
 +
 +
 +**
 Configuring /etc/varnish/default.vcl Configuring /etc/varnish/default.vcl
  
Ligne 39: Ligne 82:
  
 I recommend visiting this 2-part article for configuring your Wordpress VCL at http://goo.gl/1rlj4 and http://goo.gl/HXzg3. If you are using some other CMS, you will need to determine what Cookies are used, and define them in your VCL. The two aforementioned links provide a basic template for defining Cookies, as you can add or replace entries fairly easy. I recommend visiting this 2-part article for configuring your Wordpress VCL at http://goo.gl/1rlj4 and http://goo.gl/HXzg3. If you are using some other CMS, you will need to determine what Cookies are used, and define them in your VCL. The two aforementioned links provide a basic template for defining Cookies, as you can add or replace entries fairly easy.
 +**
  
 +Configuration de /etc/varnish/default.vcl
 +
 +Le fichier default.vcl est l'endroit où vous passerez la plupart de votre temps. Une fois que vous aurez configuré le fichier /etc/default/varnish, vous aurez besoin de travailler sur votre fichier /etc/varnish/default.vcl. Une des premières tâches est de définir votre interface admin. Comme je l'ai mentionné plus tôt, vous pouvez utiliser varnish sur votre serveur web directement ou l'utiliser sur une machine dédiée.
 +
 +Si votre Varnish tourne sur une machine dédiée ou si vous utilisez une carte réseau dédiée, la déclaration du .host va définir l'adresse IP LAN de votre serveur web. Sinon, vous pouvez utiliser l'adresse de loopback 127.0.0.1. La directive .port donne à Varnish le port d'écoute d'Apache. Les options de configuration supplémentaires sont facultatives, mais vous donneront plus de contrôle sur l'activité des utilisateurs.
 +
 +Si vous utilisez un système de gestion de contenu (Content Management System - CMS) pour votre contenu web, il faudra affiner votre VCL de sorte que vous ne mettiez pas en cache les cookies ou d'autres éléments qui ne devraient pas être mis en cache pendant les sessions d'administration.
 +
 +Je vous recommande d'aller voir cet article en 2 parties pour la configuration de votre VCL Wordpress : http://goo.gl/1rlj4 et http://goo.gl/HXzg3. Si vous utilisez un autre CMS, vous aurez besoin de déterminer quels cookies sont utilisés et de les définir dans votre VCL. Les deux liens ci-dessus fournissent un modèle de base pour définir les cookies, puisque vous pouvez ajouter ou remplacer les entrées assez facilement.
 +
 +**
 Security and Protection Security and Protection
  
Ligne 49: Ligne 104:
  
 The -C flag prints your VCL as compiled C# and validates it, while the -f flag is the location of your VCL file. The -C flag prints your VCL as compiled C# and validates it, while the -f flag is the location of your VCL file.
 +**
  
 +Sécurité et protection
 +
 +Varnish peut également fournir un certain niveau de sécurité à votre réseau par la création d'une méthode souple de blocage des adresses IP et par des variables de manipulation de chemin. Par exemple, si vous voulez bloquer les adresses IP avant qu'elles n'arrivent sur votre serveur, il suffit d'insérer l'expression régulière suivante dans votre fichier /etc/varnish/default.vcl et de relancer Varnish. Bloquer des adresses IP avec Varnish vous permet de maintenir un pare-feu IP avant qu'il ne soit trop tard.
 +
 +Une fois que vous avez votre VCL configuré comme vous le souhaitez, validez-le avec : 
 +
 +varnishd -C -f /etc/vernis/default.vcl
 +
 +L'option -C marque votre VCL comme compilé en C# et le valide, alors que l'option -f est l'emplacement de votre fichier VCL.
 +
 +**
 Configuring Apache for Varnish using VirtualHost Configuring Apache for Varnish using VirtualHost
  
Ligne 57: Ligne 124:
  
 Lastly, change the Listen directive in /etc/apache2/ports.conf to match the port specified above (e.g. Listen 8500). Lastly, change the Listen directive in /etc/apache2/ports.conf to match the port specified above (e.g. Listen 8500).
 +**
  
 +Configurer Apache pour Varnish à l'aide d'un VirtualHost
 +
 +Si vous utilisez la fonction VirtualHost d'Apache, vous devez ajouter une ligne dans votre fichier /etc/apache2/httpd.conf pour qu'Apache sache ce que vous êtes en train de faire. Vous aurez besoin de définir le numéro de .port que vous lui avez attribuée dans Varnish (ex : NameVirtualHost *:8500).
 +
 +Ensuite, configurez votre fichier /etc/apache2/sites-available/domain.com en utilisant le modèle indiqué à droite. Le numéro de port sur la première ligne doit correspondre à ce que vous avez placé dans le déclaration d'interface admin dans /etc/varnish/default.vcl.
 +
 +Enfin, modifiez la directive Listen dans /etc/apache2/ports.conf pour correspondre au port indiqué ci-dessus (ex: Listen 8500).
 +
 +**
 Helpful Commands Helpful Commands
  
Ligne 69: Ligne 146:
  
 References: References:
 +
 +https://www.varnish-cache.org/docs/3.0/reference/vcl.html
 +
 +http://kaanon.com/blog/work/making-wordpress-shine-varnish-caching-system-part-1
 +
 +https://www.varnish-cache.org/trac/wiki
 +**
 +
 +Commandes utiles
 +
 +varnishstat : compteurs de performance et de diagnostic ;
 +varnishtop -i rxurl : liste tout le trafic à travers votre cache Varnish ;
 +varnishadm : console d'administration Varnish, où vous pouvez exécuter des commandes d'interdiction et autres ;
 +varnishd -C -f /etc/varnish/default.vcl : marque votre VCL comme compilé en C# et valide avant de l'activer votre rechargement du service Varnish en direct. 
 +service varnish reload : recharge votre VCL sans effacer le cache en cours ;
 +varnishncsa : affiche les journaux d'accès Varnish dans Apache.
 +
 +
 +Références:
  
 https://www.varnish-cache.org/docs/3.0/reference/vcl.html https://www.varnish-cache.org/docs/3.0/reference/vcl.html
issue57/tutovarnish.1328561448.txt.gz · Dernière modification : 2012/02/06 21:50 de fredphil91