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

Comment installer Varnish Cache pour Apache sur CentOS/RHEL 8

Cache de vernis est un accélérateur d'applications web open source gratuit, moderne et performant. Il s'agit d'un proxy HTTP inverse rapide qui met en cache le contenu pour accélérer les performances de votre serveur Web, en stockant le contenu Web dans la mémoire du serveur - dans un cache. Il est configuré pour s'exécuter devant un serveur d'origine tel que Apache (HTTPD ) serveur Web.

Lorsqu'un client demande du contenu, Varnish accepte le HTTP request, envoie la demande au serveur d'origine, met en cache les objets renvoyés et répond à la demande du client. La prochaine fois que le client demandera le même contenu, Varnish le servira à partir du cache. De cette façon, il réduit le temps de réponse et la consommation de bande passante réseau sur les futures requêtes équivalentes.

Vernis fonctionne également comme un HTTP routeur de requêtes, pare-feu d'application Web, équilibreur de charge, etc. Il est configuré à l'aide du langage de configuration de Varnish flexible (VCL ) qui est extensible à l'aide de modules de vernis (également appelés VMOD ), prend en charge Edge Side Include (ALS ), compression et décompression Gzip, et bien plus encore.

Dans cet article, vous apprendrez à installer Apache HTTPD serveur Web et Varnish Cache 6 sur un nouveau CentOS/RHEL 8 serveur, y compris la configuration de Varnish pour qu'il s'exécute devant HTTPD serveur.

Prérequis :

  • Un serveur avec l'installation de CentOS 8
  • Un serveur avec une installation RHEL 8 avec un abonnement Red Hat activé sur votre système.

Étape 1 :Installation du serveur Web Apache sur CentOS/RHEL 8

1. Commencez par mettre à jour tous les packages logiciels installés sur le système comme suit à l'aide de la commande DNF.

# dnf update

2. Ensuite, exécutez la commande suivante pour installer le Apache HTTP serveur Web de AppStream référentiel.

# dnf install httpd

3. Dès que l'installation est terminée, démarrez le service httpd, activez-le pour qu'il démarre automatiquement lors du démarrage du système et vérifiez son état pour confirmer qu'il est opérationnel à l'aide de la commande systemctl.

# systemctl start httpd
# systemctl enable httpd
# systemctl status httpd

Vérifier l'état du serveur Web Apache

4. Par défaut CentOS/RHEL 8 inclut un pare-feu entièrement verrouillé (exécutez firewall-cmd –state confirmer). Vous devez ouvrir l'accès au service HTTP dans le pare-feu pour permettre aux utilisateurs d'accéder aux sites Web ou aux applications exécutés sur HTTP , et rechargez également les paramètres du pare-feu pour appliquer les nouvelles modifications.

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

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

5. Maintenant que le serveur Web Apache est en cours d'exécution, vous pouvez poursuivre l'installation de Varnish Cache sur le système à l'aide de la commande suivante.

# dnf module install varnish

Installer Varnish Cache sur CentOS 8

6. Après une installation réussie, vous pouvez vérifier la version de Varnish installé sur votre système.

# varnishd -V

Vérifier la version de vernis

7. Ensuite, l'exécutable principal est installé en tant que /usr/sbin/varnishd . De plus, les fichiers de configuration de Varnish sont stockés sous le répertoire /etc/varnish répertoire, où :

  • /etc/varnish/default.vcl – est le fichier de configuration de vernis principal écrit à l'aide de VCL.
  • /etc/vernis/secret – est le fichier secret du vernis.

8. Démarrez maintenant le service de vernissage, pour l'instant, activez-le pour qu'il démarre automatiquement lors du démarrage du système en cas de redémarrage du serveur et vérifiez son état pour vous assurer qu'il est opérationnel comme suit.

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

Vérifier l'état du cache de vernis

Étape 3 :Configurer Apache pour qu'il fonctionne avec Varnish Cache

9. Il est maintenant temps de configurer Varnish Cache à exécuter devant le service Apache. Par défaut, le serveur Apache est configuré pour écouter sur le port 80 , ceci est défini dans le fichier de configuration principal /etc/httpd/conf/httpd.conf .

Ouvrez-le pour le modifier à l'aide de votre éditeur de texte préféré.

# vi /etc/httpd/conf/httpd.conf

Recherchez Écouter paramètre. Pour exécuter Vernis devant le serveur Apache, vous devez changer le port par défaut 80 à 8080 (ou tout autre port de votre choix) comme indiqué dans la capture d'écran suivante.

Ce port sera ajouté en tant que port du serveur principal dans le fichier de configuration de Varnish ultérieurement.

Changer le port par défaut d'Apache

En outre, la configuration de l'hôte virtuel pour chaque site Web/application qui servira via Varnish doit être configuré pour écouter le port ci-dessus. Voici la configuration de notre site de test (/etc/httpd/conf.d/tecmint.lan.conf ).

<VirtualHost *:8080>
    DocumentRoot "/var/www/html/tecmint.lan/"
    ServerName www.tecmint.lan
    # Other directives here
</VirtualHost>

Configuration de l'hôte virtuel Apache

Important  :Pour éviter que la page de test par défaut du serveur HTTP Apache ne soit jamais utilisée, commentez toutes les lignes du fichier /etc/httpd/conf.d/welcome.conf ou supprimez simplement le fichier.

# rm /etc/httpd/conf.d/welcome.conf 

10. Ensuite, testez la syntaxe de configuration httpd pour détecter d'éventuelles erreurs. Si tout va bien, redémarrez le service httpd pour appliquer les nouvelles modifications.

# httpd -t
# systemctl restart httpd

Vérifier la configuration d'Apache

Configuration de Varnish pour Systemd

11. Pour déployer Varnish devant HTTPD , il vous suffit de le configurer pour écouter les requêtes des clients dans le port HTTP par défaut 80 comme expliqué ci-dessous.

Notez que dans Varnish Cache 6.0 et plus, vous devez définir le port le serveur de vernis écoute dans le fichier de service Varnish pour systemd . Commencez par l'ouvrir pour le modifier.

# systemctl edit --full  varnish

Recherchez ExecStart ligne, puis modifiez la valeur de -a switch (qui spécifie le vernis écouter l'adresse et le port) de :6081 à :80 comme indiqué dans la capture d'écran suivante.

Surtout, 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.

Configuration des serveurs dorsaux Varnish à l'aide de VCL

12. Maintenant, vous devez configurer le serveur d'origine, connu en Varnish terminologie en tant que backend . C'est le serveur qui comprend HTTP, auquel Varnish s'adresse, pour récupérer le contenu - httpd dans ce cas. Il est configuré dans le fichier de configuration principal /etc/varnish/default.vcl .

# vi /etc/varnish/default.vcl 

Il existe un backend par défaut section de configuration appelée par défaut . Vous pouvez modifier "par défaut ” vers serveur1 (ou tout nom de votre choix pour répondre à vos normes d'environnement). Par défaut, l'hôte le paramètre pointe vers localhost , en supposant que le serveur principal s'exécute sur l'hôte local.

Définissez ensuite le port sur 8080 (le port que vous avez défini dans le fichier de configuration de l'hôte virtuel Apache) comme indiqué dans la capture d'écran.

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

Configurer les serveurs principaux de Varnish

Si votre backend le serveur s'exécute sur un hôte différent, par exemple, un autre serveur avec l'adresse 10.42.1.10 , puis l'hôte le paramètre doit pointer vers cette adresse IP.

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

Enregistrez le fichier et fermez-le.

13. Après avoir effectué toutes les modifications nécessaires concernant le Vernis , rechargez le systemd configuration du gestionnaire pour refléter les nouvelles modifications dans le fichier de service Varnish et également redémarrer le service Varnish pour appliquer les modifications globales.

# systemctl daemon-reload
# systemctl restart varnish

14. À ce stade, Vernir et Apache devrait maintenant écouter sur le port 80 et 8080 respectivement. Vous pouvez le confirmer à l'aide de la commande socket statistics.

# ss -tpln

Vérifier les sockets d'écoute Varnish et Apache

Étape 4 :Test du cache de vernis et de la configuration d'Apache

14. Pour tester le Varnish Cache-HTTPD configuration, ouvrez un navigateur Web et naviguez à l'aide de l'IP du serveur ou FQDN comme indiqué dans la capture d'écran suivante.

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

Vérifiez ensuite si les pages Web sont diffusées via Varnish Cache comme suit. Vérifiez le HTTP en-têtes en cliquant avec le bouton droit sur la page Web affichée, sélectionnez Inspecter pour ouvrir les outils de développement, puis cliquez sur Réseau onglet et recharger la page. Sélectionnez ensuite une demande pour afficher les en-têtes HTTP afin de le confirmer, comme indiqué dans la capture d'écran suivante.

Vérifier que la page Web est servie via le cache de vernis

Vous pouvez également exécuter la commande curl suivante pour le vérifier.

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

Vérifier la configuration de Varnish et d'Apache

Programmes utilitaires de cache de vernis utiles

15. Terminons ce guide en examinant certains des programmes utiles que le Varnish Cache la distribution vient avec. Ils incluent des utilitaires pour l'administration du cache de vernis, l'affichage d'enregistrements de journaux détaillés et l'affichage des statistiques de performances de vernis, comme décrit ci-dessous.

vernisadm

Le premier est varnishadm qui est utilisé pour administrer un Varnish en cours d'exécution exemple. Il établit une connexion d'interface de ligne de commande à varnishd . Cela peut affecter une instance en cours d'exécution de Varnish en démarrant et en arrêtant varnishd , modifier les paramètres de configuration, recharger la VCL, répertorier les backends, etc.

# varnishadm
> backend.list

Administrer le vernis à l'aide de l'outil Varnishadm

Pour plus d'informations, lisez man vernisadm .

journal de vernis

Le programme suivant est varnishlog qui est utilisé pour accéder aux données spécifiques à la demande (c'est-à-dire des informations sur des clients et des demandes spécifiques). Il fournit de grandes quantités d'informations, il est donc généralement nécessaire de le filtrer.

# varnishlog

Varnishlog – Vérifier les performances du cache de vernis

Pour plus d'informations, lisez le journal du vernis de l'homme .

stat de vernis

Nous avons aussi varnishstat (statistiques vernis ) qui est utilisé pour accéder à des statistiques globales telles que le nombre total de requêtes, le nombre d'objets, etc.

# varnishstat

vernisstat - Afficher les statistiques de vernis

Pour plus d'informations, lisez le man vernisstat .

vernis dessus

Ensuite, nous avons vernistop dont un utilitaire qui lit le Varnish log et présente une liste continuellement mise à jour des entrées de journal les plus fréquentes.

# varnishtop 

vernistop - Lit les journaux de vernis

Pour plus d'informations, lisez le man vernistop .

vernishist

Un autre utilitaire utile est varnishhist (historique des vernis ) l'utilitaire lit les journaux Varnish et présente un histogramme continuellement mis à jour montrant la distribution du dernier N demandes par leur traitement.

# varnishhist

vernisstat - Afficher l'historique du journal de vernis

Pour plus d'informations, lisez le man vernissiste .

Voilà! Vous avez déployé avec succès Varnish Cache pour accélérer le contenu de votre application Web servi à l'aide de Apache HTTP Serveur sur CentOS/RHEL 8 .

Si vous avez des questions sur ce sujet ou des idées à partager, utilisez le formulaire de commentaires ci-dessous. Consultez la documentation de Varnish Cache 6.0 pour plus d'informations.

Si vous souhaitez activer HTTPS sur votre site, consultez notre prochain article, qui montrera comment activer SSL/TLS 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 Puppet sur CentOS 8 / RHEL 8

  2. Comment installer Puppet 6.x sur CentOS 7 / RHEL 7

  3. Comment installer Apache Maven CentOS 7 / RHEL 7

  4. Comment installer le cache de vernis sur CentOS

  5. Comment installer Varnish Cache 4 sur CentOS 7

Comment installer Apache Tomcat 9.0 / 8.5 sur CentOS 7 / RHEL 7

Comment installer Zabbix Server 5.0 / 4.0 sur CentOS 7 / RHEL 7

Comment installer Apache Maven CentOS 8 / RHEL 8

Installer Varnish Cache pour Apache sur CentOS 8

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

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