GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment installer Varnish Reverse Proxy avec Nginx sur Ubuntu 16.04 LTS

Varnish est un serveur proxy axé sur la mise en cache HTTP. Il est conçu comme un accélérateur HTTP et peut agir comme proxy inverse pour votre serveur Web Apache ou Nginx. Le vernis a été utilisé pour des sites Web très médiatisés et à fort trafic, notamment Wikipedia, The Guardian et le New York Times.

Dans ce tutoriel, je vais vous montrer comment installer et configurer l'accélérateur HTTP de vernis en tant que proxy inverse pour le serveur Web Nginx. Le vrai serveur Web Nginx fonctionnera sous le port HTTP non standard 8080. Et Varnish fonctionnera en tant que proxy inverse sur le port HTTP 80. Pour ce guide, nous utiliserons le serveur Ubuntu 16.04.

Ce que nous allons faire

  1. Installer Nginx sur Ubuntu 16.04
  2. Configurer Nginx sur le port 8080
  3. Installer Varnish sur Ubuntu 16.04
  4. Configurer Varnish en tant que proxy inverse pour Nginx
  5. Configurer le pare-feu UFW
  6. Test

Prérequis

  • Ubuntu 16.04
  • Privilèges racine

Étape 1 - Installer Nginx sur Ubuntu 16.04

La première étape que nous devons faire pour ce tutoriel est d'installer Nginx sur le système Ubuntu 16.04. Dans cette étape, nous allons installer Nginx (il est disponible dans le référentiel officiel Ubuntu), puis démarrer le service, puis lui permettre de se lancer à chaque démarrage du système.

Installez Nginx à partir du référentiel Ubuntu à l'aide de la commande apt.

sudo apt install nginx -y

Une fois l'installation terminée, démarrez Nginx et activez-le pour qu'il se lance à chaque démarrage du système à l'aide des commandes systemctl ci-dessous.

systemctl start nginx
systemctl enable nginx

Le serveur Web Nginx s'exécute sur le port HTTP par défaut - vérifiez-le à l'aide de netstat et assurez-vous que le port HTTP est utilisé par Nginx.

netstat -plntu

Étape 2 - Configurer Nginx sur le port 8080

Dans cette étape, nous allons configurer nginx pour qu'il s'exécute sous le port HTTP non standard 8080. À cette fin, nous devons modifier les fichiers de l'hôte virtuel sous le répertoire "sites-available".

Accédez au répertoire de configuration de Nginx et modifiez le fichier d'hôte virtuel "par défaut" à l'aide de vim.

cd /etc/nginx/
vim sites-available/default

Remplacez la valeur de la ligne "écouter" par 8080.

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

Enregistrez et quittez.

Testez maintenant la configuration Nginx et assurez-vous qu'il n'y a pas d'erreur. Redémarrez ensuite le service.

nginx -t
systemctl restart nginx

Maintenant, testez à nouveau nginx à l'aide de netstat et assurez-vous qu'il s'exécute sur le port HTTP non standard 8080.

netstat -plntu

Le serveur Web Nginx a été installé et fonctionne maintenant sur le port 8080.

Étape 3 - Installer Varnish sur Ubuntu 16.04

Nous devons maintenant installer Varnish sur le système. Nous pouvons installer la dernière version de l'outil à partir de la source. Et pour ce guide, nous installerons le vernis à partir du référentiel Ubuntu - Varnish v4.

Installez le vernis à l'aide de la commande apt ci-dessous.

sudo apt install varnish -y

Maintenant, démarrez vernis et activez-le pour qu'il se lance au démarrage du système à l'aide des commandes systemctl ci-dessous.

systemctl start varnish
systemctl enable varnish

Par défaut, vernis utilisera le port 6081 pour l'accès public et le port 6082 pour l'interface Web d'administration de vernis. Vérifiez-le à l'aide de la commande netstat et assurez-vous que ces ports figurent dans la liste.

netstat -plntu

L'accélérateur HTTP Varnish a été installé.

Étape 4 - Configurer Varnish en tant que proxy inverse pour Nginx

Dans ce didacticiel, nous utiliserons Varnish comme proxy inverse pour le serveur Web Nginx. Varnish fonctionnera sur le port HTTP 80 et le serveur Web Nginx sur le port HTTP 8080 (c'est terminé).

Dans cette étape, nous allons configurer Varnish pour Nginx, définir le serveur principal, puis modifier le vernis pour qu'il s'exécute sous le port HTTP 80.

Allez maintenant dans le répertoire de configuration de vernis et éditez le fichier 'default.vcl'.

cd /etc/varnish
vim default.vcl

Sur la ligne backend, définissez la configuration comme ci-dessous.

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

Enregistrez et quittez.

Remarque :

  • .hôte =Adresse du serveur Web principal.
  • .port =Le serveur Web sauvegardé en cours d'exécution.

La configuration du backend est terminée.

Ensuite, nous devons configurer Varnish pour qu'il s'exécute sous le port HTTP 80. Allez dans le répertoire '/etc/default' et modifiez le fichier de configuration de vernis 'varnish'.

cd /etc/default/
vim varnish

Sur la ligne 'DAEMON_OPTS', changez le port par défaut 6081 en port HTTP 80.

DAEMON_OPTS="-a :80 \
             -T localhost:6082 \
             -f /etc/varnish/default.vcl \
             -S /etc/varnish/secret \
             -s malloc,256m"

Enregistrez et quittez.

Modifiez maintenant le fichier de service de vernis dans le répertoire '/lib/systemd/system'. Accédez au répertoire système systemd et modifiez le fichier vernis.service.

cd /lib/systemd/system
vim varnish.service

Sur la ligne 'ExecStart', changez le port de vernis 6081 en port HTTP 80.

ExecStart=/usr/sbin/varnishd -j unix,user=vcache -F -a :80 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s malloc,256m

Enregistrez et quittez.

Rechargez la configuration systemd et redémarrez le vernis.

systemctl daemon-reload
systemctl restart varnish

Une fois la configuration terminée, vérifiez Varnish à l'aide de la commande netstat ci-dessous.

netstat -plntu

Assurez-vous que Varnish s'exécute sur le port HTTP 80, comme indiqué ci-dessous.

La configuration de Varnish en tant que proxy inverse pour Nginx est terminée.

Étape 5 - Configurer le pare-feu UFW

Le système Ubuntu est livré avec un pare-feu par défaut lisible par l'homme nommé "UFW". Si vous n'avez pas le package, installez-les à l'aide de la commande apt ci-dessous.

sudo apt install ufw

Dans cette étape, nous allons activer le pare-feu et ouvrir de nouveaux ports pour SSH, HTTP et HTTPS.

Exécutez les commandes ufw ci-dessous.

ufw allow ssh
ufw allow http
ufw allow https

Activez maintenant le pare-feu et permettez-lui de se lancer à chaque fois au démarrage.

ufw enable

Tapez 'y' et appuyez sur Entrée pour confirmer.

Le pare-feu UFW est activé et les ports HTTP et HTTPS sont désormais accessibles depuis le réseau extérieur.

Étape 6 - Tester

- Test avec cURL

Tester le vernis à l'aide de la commande curl, afin que nous puissions voir les en-têtes HTTP du serveur.

curl -I hakase-labs.co

Et vous obtiendrez le résultat de l'en-tête HTTP "Via :1.1 vernis-v4" comme indiqué ci-dessous.

- Test à l'aide d'un navigateur Web

Ouvrez votre navigateur Web et saisissez l'URL ou l'adresse suivante du serveur. Le mien est : http://hakase-labs.co

Assurez-vous d'obtenir la page par défaut de Nginx comme ci-dessous.

- Test du journal de vernis

Varnish fournit certaines commandes pour gérer et afficher les journaux. Nous utiliserons 'varnishncsa' pour obtenir le journal d'accès au vernis.

varnishncsa

Et vous obtiendrez le résultat comme indiqué ci-dessous.

L'installation et la configuration de Varnish en tant que proxy inverse pour le serveur Web Nginx sont terminées.


Ubuntu
  1. Comment déployer Modsecurity avec Nginx sur Ubuntu 20.04 LTS

  2. Comment installer Odoo 11 sur Ubuntu 16.04 avec Nginx en tant que proxy inverse

  3. Comment installer Odoo 10 sur Ubuntu 16.04 avec Nginx en tant que proxy inverse

  4. Comment installer Odoo sur Ubuntu 20.04 avec Nginx en tant que proxy inverse

  5. Comment installer Odoo 12 sur Ubuntu 18.04 avec Nginx en tant que proxy inverse

Comment installer Rocket.chat avec le proxy inverse nginx sur Ubuntu 20.04

Comment installer phpMyAdmin avec Nginx (LEMP) sur Ubuntu 18.04 LTS

Comment installer Nginx avec le module Ngx_Pagespeed sur Ubuntu 16.04 LTS

Comment installer Joomla avec Nginx sur Ubuntu 18.04 LTS

Comment installer phpMyAdmin avec Nginx sur Ubuntu 18.04 LTS

Comment installer phpMyAdmin avec Nginx sur Ubuntu 20.04 LTS