GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment installer Varnish Cache 6 pour Nginx sur CentOS/RHEL 8

Cache de vernis (communément appelé Vernis ) est un reverse-proxy open-source, puissant et rapide HTTP accélérateur avec une architecture moderne et un langage de configuration flexible. Être un proxy inverse signifie simplement qu'il s'agit d'un logiciel que vous pouvez déployer devant votre serveur Web (qui est le serveur d'origine ou le backend) tel que Nginx , pour recevoir les requêtes HTTP des clients et les transmettre au serveur d'origine pour traitement. Et il transmet la réponse du serveur d'origine aux clients.

Vernis agit comme un intermédiaire entre Nginx et clients mais avec quelques avantages en termes de performances. Son objectif principal est d'accélérer le chargement de vos applications, en fonctionnant comme un moteur de mise en cache. Il reçoit les requêtes des clients et les transmet une fois au backend pour mettre en cache le contenu demandé (stocker des fichiers et des fragments de fichiers en mémoire). Ensuite, toutes les demandes futures de contenu exactement similaire seront servies à partir du cache.

Cela accélère le chargement de vos applications Web et améliore indirectement les performances globales de votre serveur Web, car Varnish servira le contenu de la mémoire au lieu que Nginx traite les fichiers du disque de stockage.

Outre la mise en cache, Varnish propose également plusieurs autres cas d'utilisation, notamment un routeur de requêtes HTTP, un équilibreur de charge, un pare-feu d'application Web, etc.

Le vernis est configuré à l'aide du langage de configuration Varnish intégré hautement extensible (VCL ) qui vous permet d'écrire des politiques sur la façon dont les demandes entrantes doivent être traitées. Vous pouvez l'utiliser pour créer des solutions, des règles et des modules personnalisés.

Dans cet article, nous allons passer en revue les étapes pour installer le Nginx serveur Web et Varnish Cache 6 sur un nouveau CentOS 8 ou RHEL 8 serveur. RHEL 8 les utilisateurs doivent s'assurer qu'ils activent l'abonnement redhat.

Pour mettre en place, un LEMP complet pile au lieu d'installer le Nginx serveur Web seul, consultez les guides suivants.

  1. Comment installer le serveur LEMP sur CentOS 8
  2. Comment installer le serveur LEMP sur RHEL 8

Étape 1 :Installer le serveur Web Nginx sur CentOS/RHEL 8

1. Le CentOS/RHEL 8 est livré avec la dernière version de Nginx logiciel de serveur Web, nous allons donc l'installer à partir du référentiel par défaut à l'aide des commandes dnf suivantes.

# dnf update
# dnf install nginx

2. Une fois Nginx installé, vous devez démarrer, activer et vérifier l'état à l'aide des commandes systemctl suivantes.

# systemctl start nginx
# systemctl enable nginx
# systemctl status nginx

Vérifier l'état du service Nginx

3. Si vous êtes un peu curieux, vous pouvez également vérifier le socket TCP Nginx, qui s'exécute sur le port 80 par défaut, à l'aide de la commande ss suivante.

# ss -tpln

Vérifier le port TCP Nginx

4. Si vous exécutez le pare-feu sur le système, assurez-vous de mettre à jour les règles du pare-feu pour autoriser les requêtes vers un serveur Web.

# firewall-cmd --zone=public --permanent --add-service=http
# firewall-cmd --reload

Étape 2 :Installation de Varnish Cache 6 sur CentOS/RHEL 8

5. Le CentOS/RHEL 8 fournit un Varnish Cache DNF module par défaut qui contient la version 6.0 LTS (Soutien à long terme ).

Pour installer le module, exécutez la commande suivante.

# dnf module install varnish

Installer Varnish Cache dans CentOS 8

6. Une fois l'installation du module terminée, vous pouvez confirmer la version de Varnish installé sur votre système.

# varnishd -V

Vérifier la version de vernis

7. Après avoir installé Varnish Cache , la commande exécutable principale installée sous /usr/sbin/varnishd et les fichiers de configuration de vernis sont situés dans /etc/varnish/ .

Le fichier /etc/varnish/default.vcl est le fichier de configuration de vernis principal écrit en utilisant VCL et /etc/varnish/secret est le fichier secret du vernis.

8. Ensuite, lancez le Vernis service, activez-le pour qu'il démarre automatiquement lors du démarrage du système et confirmez qu'il est opérationnel.

# systemctl start varnish
# systemctl enable varnish
# systemctl status varnish

Vérifier le cache de vernis sur CentOS 8

Étape 3 :Configurer Nginx pour qu'il fonctionne avec le cache de vernis

9. Dans cette section, nous montrerons comment configurer Varnish Cache courir devant Nginx . Par défaut, Nginx écoute sur le port 80 , normalement chaque bloc de serveur (ou hôte virtuel) est configuré pour écouter sur ce port.

Par exemple, jetez un œil au bloc de serveur nginx par défaut configuré dans le fichier de configuration principal (/etc/nginx/nginx.conf ).

# vi /etc/nginx/nginx.conf

Recherchez la section de blocage du serveur comme indiqué dans la capture d'écran suivante.

Configuration du bloc de serveur Nginx

10. Pour exécuter Vernis devant Nginx , vous devez changer le port Nginx par défaut de 80 à 8080 (ou tout autre port de votre choix).

Cela devrait être fait dans tous les futurs fichiers de configuration de bloc de serveur (généralement créés sous /etc/nginx/conf.d/ ) pour les sites ou les applications Web que vous souhaitez diffuser via Varnish .

Par exemple, le bloc serveur pour notre site de test tecmint.lan est /etc/nginx/conf.d/tecmint.lan.conf et a la configuration suivante.

server {
        listen       8080;
        server_name  www.tecmint.lan;
        root         /var/www/html/tecmint.lan/;
        location / {
        }

        error_page 404 /404.html;
            location = /40x.html {
        }
        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
}

Configuration du bloc de serveur Nginx

Important  :N'oubliez pas de désactiver le bloc de serveur par défaut en commentant sa section de configuration dans /etc/nginx/nginx.conf fichier comme indiqué dans la capture d'écran suivante. Cela vous permet de commencer à exécuter d'autres sites Web/applications sur votre serveur, sinon, Nginx dirigera toujours les requêtes vers le bloc de serveur par défaut.

Désactiver le blocage du serveur Nginx

11. Une fois la configuration terminée, vérifiez s'il y a des erreurs dans le fichier de configuration et redémarrez le service Nginx pour appliquer les modifications récentes.

# nginx -t
# systemctl restart nginx

Vérifier la syntaxe de configuration Nginx

12. Ensuite, pour recevoir HTTP demandes des clients, nous devons configurer Varnish pour fonctionner sur le port 80 . Contrairement aux versions antérieures de Varnish Cache où ce changement a été fait dans le Vernis fichier d'environnement (qui est maintenant obsolète), dans la version 6.0 et plus.

Nous devons apporter la modification requise dans le fichier de service Varnish. Exécutez la commande suivante pour ouvrir le fichier de service approprié à modifier.

# systemctl edit --full  varnish

Trouvez la ligne suivante et modifiez la valeur de -a switch, qui spécifie l'adresse et le port d'écoute. Définissez le port sur 80 comme indiqué dans la capture d'écran suivante.

Notez que si vous ne spécifiez pas d'adresse, varnishd écoutera sur tous les IPv4 disponibles et IPv6 interfaces actives sur le serveur.

ExecStart=/usr/sbin/varnishd -a :6081 -f /etc/varnish/default.vcl -s malloc,256m

Changer le port d'écoute de vernis

Enregistrez les modifications dans le fichier et quittez.

13. Ensuite, vous devez définir le serveur principal que Varnish visitera pour récupérer le contenu de. Cela se fait dans le fichier de configuration principal de Varnish.

# vi /etc/varnish/default.vcl 

Recherchez la section de configuration du backend par défaut et modifiez la chaîne "default ” vers serveur1 (ou tout nom de votre choix pour représenter votre serveur d'origine). Définissez ensuite le port sur 8080 (ou le port d'écoute Nginx que vous avez défini dans votre bloc serveur).

backend server1 {
    .host = "127.0.0.1";
    .port = "8080";
}

Définir les serveurs principaux de vernis par défaut

Pour ce guide, nous utilisons Varnish et Nginx sur le même serveur. Si votre serveur Web Nginx s'exécute sur un autre hôte. Par exemple, un autre serveur avec l'adresse 10.42.0.247 , puis définissez .host paramètre comme indiqué.

backend server1 {
    .host = "10.42.0.247";
    .port = "8080";
}

Enregistrez le fichier et fermez-le.

14. Ensuite, vous devez recharger le systemd configuration du gestionnaire en raison des modifications récentes apportées au fichier de service Varnish, puis redémarrez le service Varnish pour appliquer les modifications comme suit.

# systemctl daemon-reload
# systemctl restart varnish

15. Confirmez maintenant que Nginx et Vernis écoutent sur le TCP configuré prises.

# ss -tpln

Confirmer les ports Nginx et Varnish

Étape 4 :Test de la configuration du cache de vernis Nginx

16. Ensuite, vérifiez que les pages Web sont diffusées via Varnish Cache comme suit. Ouvrez un navigateur Web et naviguez à l'aide de l'adresse IP ou du FDQN du serveur, comme indiqué dans la capture d'écran suivante.

http://www.tecmin.lan
OR
http://10.42.0.144

Vérifier les pages Nginx servies via le cache de vernis

17. Vous pouvez également utiliser la commande curl comme indiqué. Utilisez l'adresse IP de votre serveur ou le FQDN de votre site Web ou utilisez 127.0.0.1 ou localhost si vous testez localement.

# curl -I http:///www.tecmint.lan

Vérifier la page de cache de vernis Nginx à l'aide de Curl

Utilitaires utiles d'administration du cache de vernis

18. Dans cette dernière section, nous décrirons brièvement certains des programmes utilitaires utiles que Varnish Cache livré avec, que vous pouvez utiliser pour contrôler varnishd , accédez aux journaux en mémoire et aux statistiques globales, et bien plus encore.

vernisadm

vernisadm un utilitaire pour contrôler une instance Varnish en cours d'exécution. Il établit une connexion CLI à vernisd. Par exemple, vous pouvez l'utiliser pour répertorier les backends configurés comme indiqué dans la capture d'écran suivante (lisez manvernisadm pour plus d'informations).

# varnishadm
varnish> backend.list

Lister les backends configurés

journal de vernis

Le journal de vernis L'utilitaire permet d'accéder aux données spécifiques à la demande. Il offre des informations sur des clients et des demandes spécifiques (lisez man vernislog pour plus d'informations).

# varnishlog

Vérifier les informations sur les clients et les demandes

stat de vernis

Un vernisstat également connu sous le nom de statistiques de vernis , qui vous donne un aperçu des performances actuelles de Varnish en donnant accès à des statistiques en mémoire telles que les succès et les échecs du cache, des informations sur le stockage, les threads créés, les objets supprimés (lisez man vernisstat pour plus d'informations).

# varnishstat 

Afficher les statistiques de vernis

vernis dessus

Un vernistop l'utilitaire lit les journaux de la mémoire partagée et présente une liste continuellement mise à jour des entrées de journal les plus courantes (lisez man vernistop pour plus d'informations).

# varnishtop 

Afficher les journaux de la mémoire partagée

vernishist

Un vernisseur (historique des vernis ) l'utilitaire analyse les journaux de vernis et génère un histogramme continuellement mis à jour montrant la distribution des derniers n requêtes par leur traitement (lireman vernishist pour plus d'informations).

# varnishhist

Afficher l'histogramme des demandes

C'est tout! Dans ce guide, nous avons montré comment installer Varnish Cache et exécutez-le devant le Nginx HTTP serveur pour accélérer la diffusion de contenu Web dans CentOS/RHEL 8 .

Toutes les réflexions ou questions concernant ce guide peuvent être partagées en utilisant le formulaire de commentaires ci-dessous. Pour plus d'informations, lisez la documentation de Varnish Cache 6.0.

Le principal inconvénient de Varnish Cache est son manque de support natif pour HTTPS . Pour activer HTTPS sur votre site Web/application, vous devez configurer un proxy de terminaison SSL/TLS pour qu'il fonctionne conjointement avec Varnish Cache pour protéger votre site. Dans notre prochain article, nous montrerons comment activer HTTPS pour Varnish Cache en utilisant Hitch sur CentOS/RHEL 8 .

Partager c'est aimer…
Partager sur FacebookPartager sur TwitterPartager sur LinkedinPartager sur Reddit
Cent OS
  1. Comment installer et configurer Varnish Cache 6 avec Nginx sur CentOS 8

  2. Comment installer phpMyAdmin avec Nginx sur CentOS 7 / RHEL 7

  3. Comment installer le cache de vernis sur CentOS

  4. Comment installer Varnish Cache 4 sur CentOS 7

  5. Comment installer le cache de vernis sur CentOS 8

Comment installer Varnish Cache pour Nginx sur CentOS 8/Almalinux 8

Comment installer Varnish Cache pour Apache sur CentOS/RHEL 8

Comment accélérer Nginx avec Varnish Cache sur CentOS 7

Comment accélérer Apache avec Varnish Cache sur CentOS 7

Comment installer le cache de vernis sur CentOS 7

Comment installer Varnish sur CentOS 7