Position actuelle: Accueil> Derniers articles> Comment configurer le proxy Nginx dans Docker Container pour améliorer la capacité d'échelle élastique des services Web

Comment configurer le proxy Nginx dans Docker Container pour améliorer la capacité d'échelle élastique des services Web

M66 2025-06-19

Comment configurer le proxy Nginx dans Docker Container pour améliorer la capacité d'échelle élastique des services Web

À l'ère du cloud computing, il est très important de s'assurer que les services Web ont une haute disponibilité et des performances élevées. La mise à l'échelle élastique est une solution efficace pour s'adapter aux changements de trafic en étendant dynamiquement les ressources. La combinaison de Docker et Nginx nous fournit une puissante solution architecturale pour un équilibrage de chargement facile et des capacités de mise à l'échelle élastiques des services Web.

Créer un service Web de base

Tout d'abord, nous devons créer un service Web simple à tester. Ici, nous utilisons les frameworks Node.js et Express.js pour créer une application simple "Hello World". Voici le code de l'application:

const Express = require ('express');
const app = express ();

app.get ('/', (req, res) => {
    res.send («Bonjour, monde!»);
});

app.Listen (3000, () => {
    console.log ('Server s'exécute sur le port 3000');
});

Ensuite, nous devons conteneuriser cette application à l'aide de Docker. Créez un dockerfile dans le répertoire racine du projet, avec le contenu suivant:

# Dockerfile
De Node: Alpine

WorkDir / App

Copier le package * .json ./

Exécuter l'installation de NPM

Copie. .

Exposer 3000

Cmd ["nœud", "app.js"]

Ce dockerfile définit la version alpine de l'image Node.js, configurez le répertoire de travail, installez les dépendances et exécutez l'application Node.js lorsque le conteneur démarre.

Construire et exécuter des conteneurs Docker

Construisez et exécutez le conteneur Docker avec la commande suivante:

$ docker build -t myapp.
$ docker run -dp 3000: 3000 myapp

Après l'exécution, le conteneur cartographiera 3000 ports, qui peuvent accéder à l'application via l'adresse IP de l'hôte.

Configurer le serveur proxy Nginx

Afin d'atteindre l'équilibrage de charge et la mise à l'échelle élastique des services Web, nous devons configurer Nginx en tant que serveur proxy inversé. Installez d'abord Nginx et modifiez son fichier de configuration:

$ sudo apt-get updat
$ sudo apt-get install nginx
$ sudo nano /etc/nginx/conf.d/default.conf

Dans le fichier de configuration Nginx, ajoutez ce qui suit:

# /etc/nginx/conf.d/default.conf
APP_SERVERS en amont {
    # Remplissez ici vos informations IP et port de conteneur Docker, et il peut y avoir plusieurs serveurs<CONTAINER_IP> : 3000;
}

serveur {
    Écoutez 80;

    emplacement / {
        proxy_pass http: // app_servers;
        proxy_set_header host $ host;
        proxy_set_header x-real-ip $ Remote_addr;
    }
}

Ici, nous définissons un groupe "app_servers" pour contenir des instances de conteneur Docker. Nginx sera proxy demandes à ces instances de conteneurs, réalisant ainsi l'équilibrage de la charge.

Redémarrer le service Nginx

Après enregistrer et sortir le fichier de configuration, redémarrez le service Nginx pour appliquer la nouvelle configuration:

$ sudo service nginx redémarrer

Atteindre l'expansion et la contraction élastiques

En configurant l'équilibrage de charge pour Nginx, l'expansion des conteneurs devient très simple. Lorsque vous devez ajouter une instance de conteneur, vous n'avez qu'à exécuter une nouvelle instance de conteneur Docker, et Nginx reconnaîtra et distribuera automatiquement le trafic vers le nouveau conteneur.

Résumer

En contenant des applications Web et en configurant un serveur proxy NGINX, nous pouvons implémenter une architecture de mise à l'échelle élastique hautement disponible et haute performance. La combinaison de Docker et Nginx nous fournit non seulement une solution conteneurisée simple, mais rend également l'équilibrage de charge et la gestion du trafic plus flexible et efficace. J'espère que cet article vous aidera à comprendre comment configurer le serveur proxy Nginx dans des conteneurs Docker pour améliorer les capacités de mise à l'échelle élastiques des services Web.