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

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
issue57:tutovarnish [2012/03/12 14:44] – [to do] frangiissue57:tutovarnish [2012/03/13 13:38] (Version actuelle) auntiee
Ligne 5: Ligne 5:
 ** **
  
-Si vous faites tourner un serveur web, lisez ce qui suit. Cet article va vous aider à accélérer vos chargements de page et vous donner un réseau plus sécurisé. Varnish est un accélérateur d'application web dans l'état de l'art. 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 mette en cache les requêtes Web. Contrairement à Squid et d'autres, Varnish a une seule fonction, qui est très bien faite : le cache.+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. 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.
Ligne 26: Ligne 26:
 Installation de Varnish sur Ubuntu 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 des commandes simples à entrer dans un terminal, ce qui ajoutera la clé GPG de Varnish, ajoutera le dépôt du logiciel Varnishet installera la dernière version du logiciel.+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 - curl http://repo.varnish-cache.org/debian/GPG-key.txt | apt-key add -
Ligne 52: Ligne 52:
 Configuration de /etc/default/varnish Configuration de /etc/default/varnish
  
-Le fichier varnish indique au logiciel comment il doit stocker les fichiers à mettre en cache, (malloc [NDT:en mémoire vive] ou fichier), le port auquel se connecteret 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 affichées dans la boîte ci-dessous.+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: +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)) + -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) + -T (port d'écoute d'admin). 
- -F (emplacement du fichier de configuration VCL) + -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 (le fichier de mot de passe secret (par défaut, un fichier secret est généré dans /etc/varnish/)). 
- -(stockage du cache par malloc ou par fichiers).+ -(stockage du cache par malloc ou par fichiers).
  
-===== to do ===== 
 ** **
 File or Malloc Cache Storage File or Malloc Cache Storage
Ligne 70: Ligne 69:
 Stockage du cache Malloc ou Fichier 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és 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.+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.
  
  
-===== to do ===== 
 ** **
 Configuring /etc/varnish/default.vcl Configuring /etc/varnish/default.vcl
Ligne 88: Ligne 86:
 Configuration de /etc/varnish/default.vcl 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 avez le fichier /etc/default/varnish configuré, vous aurez besoin de travailler sur votre fichier /etc/varnish/default.vcl. Une des premières tâches est de définir votre élément en bout de chaine. Comme je l'ai mentionné plus tôt, vous pouvez utiliser varnishsur votre serveur web directement ou l'utiliser sur une machine dédiée.+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 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 les cookies en cache ou d'autres éléments qui ne devraient pas être mis en cache pendant les sessions d'administration.+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 de visiter 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 afin de déterminer quels cookies sont utiliséset de les définir dans votre VCL. Les deux liens ci-dessus fournissent un modèle de base pour définir les cookies, mais vous pouvez ajouter ou remplacer les entrées assez facilement.+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.
  
-===== to do ===== 
 ** **
 Security and Protection Security and Protection
Ligne 111: Ligne 108:
 Sécurité et protection 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 relancer Varnish. Bloquer des adresses IP avec Varnish vous permet de maintenir un pare-feu IP avant qu'il ne soit trop tard.+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 : +Une fois que vous avez votre VCL configuré comme vous le souhaitez, validez-le avec : 
  
 varnishd -C -f /etc/vernis/default.vcl varnishd -C -f /etc/vernis/default.vcl
Ligne 119: Ligne 116:
 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. 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.
  
-===== to do ===== 
 ** **
 Configuring Apache for Varnish using VirtualHost Configuring Apache for Varnish using VirtualHost
Ligne 132: Ligne 128:
 Configurer Apache pour Varnish à l'aide d'un VirtualHost 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)+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 de bout de chaine dans /etc/varnish/default.vcl+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). Enfin, modifiez la directive Listen dans /etc/apache2/ports.conf pour correspondre au port indiqué ci-dessus (ex: Listen 8500).
  
-===== to do ===== 
 ** **
 Helpful Commands Helpful Commands
Ligne 151: 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.1331559858.txt.gz · Dernière modification : 2012/03/12 14:44 de frangi