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

Comment installer et configurer Varnish Cache 6 avec Nginx sur CentOS 8

Varnish Cache est un accélérateur HTTP de proxy inverse gratuit et open-source pour les sites Web et les API. Il peut être installé en tant que proxy inverse devant n'importe quel serveur Web fonctionnant sur HTTP. Il se situe entre le serveur Web et le navigateur et enregistre les pages Web, les cookies et d'autres données en mémoire. Ce cache sera utilisé pour répondre à toutes les demandes futures de contenu exactement similaire. Cela augmentera la charge de l'application Web et améliorera les performances du serveur Web de plus de 300 fois.

Dans ce didacticiel, nous allons configurer le serveur Nginx en tant que serveur principal et le configurer pour écouter sur le port 8080, puis configurer le cache Varnish pour qu'il écoute sur le port HTTP 80 par défaut.

Prérequis

  • Un serveur exécutant CentOS 8.
  • Un mot de passe root est configuré sur le serveur.

Installer et configurer le serveur Web Nginx

Tout d'abord, vous devrez installer le serveur Web Nginx sur votre système. Vous pouvez l'installer avec la commande suivante :

dnf install nginx -y

Une fois installé, démarrez le service Nginx et activez-le au redémarrage du système avec la commande suivante :

systemctl start nginx
systemctl enable nginx

Par défaut, le Nginx écoute sur le port 80. Vous devrez donc configurer Nginx pour écouter sur le port 80. Vous pouvez le configurer en éditant le fichier de configuration par défaut de Nginx :

nano /etc/nginx/nginx.conf

Recherchez les lignes suivantes :

        listen       80 default_server;
        listen       [::]:80 default_server;

Et remplacez-les par les lignes suivantes :

        listen       8080 default_server;
        listen       [::]:8080 default_server;

Enregistrez et fermez le fichier lorsque vous avez terminé. Ensuite, redémarrez le service Nginx pour appliquer les modifications :

systemctl restart nginx

À ce stade, le serveur Web Nginx est installé et écoute sur le port 8080. Vous pouvez le vérifier à l'aide de la commande suivante :

netstat -tpln | grep 8080

Vous devriez obtenir le résultat suivant :

tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN      30367/nginx: master 
tcp6       0      0 :::8080                 :::*                    LISTEN      30367/nginx: master 

Installer le cache de vernis

Par défaut, le package Varnish est disponible dans le référentiel par défaut de CentOS 8. Vous pouvez l'installer en exécutant simplement la commande suivante :

dnf module install varnish

Une fois installé, démarrez le service Varnish avec la commande suivante :

systemctl start varnish

Vous pouvez également vérifier la version installée du cache Varnish avec la commande suivante :

varnishd -V

Vous devriez voir le résultat suivant :

varnishd (varnish-6.0.2 revision 0458b54db26cfbea79af45ca5c4767c7c2925a91)
Copyright (c) 2006 Verdens Gang AS
Copyright (c) 2006-2018 Varnish Software AS

Configurer Varnish pour Nginx

Ensuite, vous devrez configurer le vernis pour qu'il s'exécute sur le port 80 afin de recevoir les requêtes HTTP des clients. Vous pouvez le configurer en éditant le fichier de configuration par défaut de Varnish :

systemctl edit --full varnish

Recherchez la ligne suivante :

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

Et remplacez-le par la ligne suivante :

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

Enregistrez et fermez le fichier lorsque vous avez terminé.

Ensuite, vous devrez définir le serveur principal pour Varnish. Vous pouvez le faire en éditant le fichier de configuration principal de Varnish /etc/varnish/default.vcl :

nano /etc/varnish/default.vcl

Modifiez les lignes suivantes :

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

Enregistrez et fermez le fichier lorsque vous avez terminé. Ensuite, rechargez le démon systemd avec la commande suivante :

systemctl daemon-reload

Ensuite, redémarrez le service Varnish et activez-le pour qu'il démarre au redémarrage du système avec la commande suivante :

systemctl restart varnish
systemcl enable varnish

Vous pouvez également vérifier l'état du vernis avec la commande suivante :

systemctl status varnish

Vous devriez obtenir le résultat suivant :

? varnish.service - Varnish Cache, a high-performance HTTP accelerator
   Loaded: loaded (/etc/systemd/system/varnish.service; disabled; vendor preset: disabled)
   Active: active (running) since Sat 2020-08-29 09:36:58 EDT; 12s ago
  Process: 30421 ExecStart=/usr/sbin/varnishd -a :80 -f /etc/varnish/default.vcl -s malloc,256m (code=exited, status=0/SUCCESS)
 Main PID: 30424 (varnishd)
    Tasks: 217
   Memory: 91.8M
   CGroup: /system.slice/varnish.service
           ??30424 /usr/sbin/varnishd -a :80 -f /etc/varnish/default.vcl -s malloc,256m
           ??30434 /usr/sbin/varnishd -a :80 -f /etc/varnish/default.vcl -s malloc,256m

Aug 29 09:36:57 centos8 systemd[1]: Starting Varnish Cache, a high-performance HTTP accelerator...
Aug 29 09:36:58 centos8 varnishd[30421]: Debug: Version: varnish-6.0.2 revision 0458b54db26cfbea79af45ca5c4767c7c2925a91
Aug 29 09:36:58 centos8 varnishd[30421]: Debug: Platform: Linux,4.18.0-193.6.3.el8_2.x86_64,x86_64,-junix,-smalloc,-sdefault,-hcritbit
Aug 29 09:36:58 centos8 varnishd[30424]: Version: varnish-6.0.2 revision 0458b54db26cfbea79af45ca5c4767c7c2925a91
Aug 29 09:36:58 centos8 varnishd[30424]: Platform: Linux,4.18.0-193.6.3.el8_2.x86_64,x86_64,-junix,-smalloc,-sdefault,-hcritbit
Aug 29 09:36:58 centos8 varnishd[30421]: Debug: Child (30434) Started
Aug 29 09:36:58 centos8 varnishd[30424]: Child (30434) Started
Aug 29 09:36:58 centos8 varnishd[30424]: Child (30434) said Child starts
Aug 29 09:36:58 centos8 systemd[1]: Started Varnish Cache, a high-performance HTTP accelerator.

Vous pouvez maintenant vérifier le port d'écoute de Nginx et Varnish avec la commande suivante :

netstat -tpln | grep 80

Vous devriez voir le résultat suivant :

tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      30424/varnishd      
tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN      30367/nginx: master 
tcp6       0      0 :::80                   :::*                    LISTEN      30424/varnishd      
tcp6       0      0 :::8080                 :::*                    LISTEN      30367/nginx: master 

Configurer SELinux et le pare-feu

Par défaut, SELinux est activé dans CentOS 8. Vous devrez donc configurer SELinux pour Varnish. Vous pouvez le configurer avec la commande suivante :

setsebool -P httpd_can_network_connect 1

Ensuite, vous devrez autoriser le port 80 via firewalld. Vous pouvez le faire avec la commande suivante :

firewall-cmd --permanent --zone public --add-port 80/tcp
firewall-cmd --reload

Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.

Tester le cache de vernis

À ce stade, le cache Varnish est installé et configuré avec le serveur Web Nginx. Maintenant, il est temps de tester si le cache Varnish fonctionne ou non.

Vous pouvez le tester en utilisant la commande curl comme indiqué ci-dessous :

curl -I http://localhost

Vous devriez voir le résultat suivant :

																																																																																																																																																																																																																																																																																																																																																																		
HTTP/1.1 200 OK
Server: nginx/1.14.1
Date: Sat, 29 Aug 2020 13:53:44 GMT
Content-Type: text/html; charset=UTF-8
X-Powered-By: PHP/7.2.24
X-Varnish: 32800
Age: 0
Via: 1.1 varnish (Varnish/6.0)
Accept-Ranges: bytes
Connection: keep-alive

Conclusion

Toutes nos félicitations! vous avez installé avec succès Varnish Cache avec Nginx sur CentOS 8. J'espère que vous pourrez également configurer facilement le cache Varnish avec le serveur Web Apache. N'hésitez pas à me demander si vous avez des questions.


Cent OS
  1. Comment installer Nextcloud avec Nginx et PHP 7.3 sur CentOS 8

  2. Comment installer ownCloud 9.1 avec Nginx et MariaDB sur CentOS 7

  3. Comment installer le cache de vernis sur CentOS

  4. Comment installer Varnish Cache 4 sur CentOS 7

  5. Comment installer Varnish et phpMyAdmin sur un VPS CentOS 7 avec Nginx, MariaDB et PHP-FPM

Comment installer ReactJS avec le proxy Nginx sur CentOS 8

Comment installer OwnCloud 8 avec Nginx et PHP-FPM sur CentOS 6

Comment installer Varnish Cache 6 pour Nginx 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