Position actuelle: Accueil> Derniers articles> Comment configurer Nginx pour réaliser l'équilibrage de charge Web entre plusieurs conteneurs Docker

Comment configurer Nginx pour réaliser l'équilibrage de charge Web entre plusieurs conteneurs Docker

M66 2025-06-13

Comment configurer le serveur proxy Nginx pour charger des services Web d'équilibrage entre plusieurs conteneurs Docker

introduction:
Avec l'application généralisée de la technologie de la conteneurisation, la demande d'équilibrage de charge des services Web a progressivement augmenté. En tant que serveur Web efficace et serveur proxy inversé, Nginx est devenu l'outil préféré pour de nombreux développeurs pour obtenir l'équilibrage de charge. Cet article expliquera en détail comment configurer un serveur proxy NGINX pour réaliser l'équilibrage de charge des services Web entre plusieurs conteneurs Docker.

1. Installez l'environnement Docker

Tout d'abord, nous devons installer l'environnement Docker sur l'hôte. Docker est une plate-forme conteneurisée open source qui aide les développeurs à construire, publier et exécuter des applications plus efficacement. Pour des étapes d'installation spécifiques, veuillez vous référer à la documentation officielle de Docker.

2. Écrivez dockerfile

Avant de configurer un service Web, nous devons écrire un Dockerfile pour notre service Web. DockerFile est un fichier texte qui définit comment créer une image Docker. Grâce à ce fichier, nous pouvons spécifier l'image de base utilisée, les dépendances qui doivent être installées et d'autres opérations connexes.

Voici un simple exemple dockerfile:

De nginx
Copier nginx.conf /etc/nginx/nginx.conf
Copy default.conf /etc/nginx/conf.d/default.conf
Copier html / usr / share / nginx / html
Exposer 80
Cmd ["nginx", "-g", "daemon off;"]

Dans cet exemple, nous avons utilisé l'image de base Nginx officielle et copié les fichiers de configuration personnalisés et les ressources Web dans le conteneur. Enfin, nous exposons le port 80 du conteneur et commençons le service Nginx à l'aide de la commande CMD.

3. Configurer le serveur proxy Nginx

Après avoir terminé la configuration de l'environnement Docker, l'étape suivante consiste à configurer le serveur proxy Nginx. Tout d'abord, nous devons créer un nouveau fichier de configuration Nginx (nginx.conf) et définir les configurations liées à l'équilibrage de charge.

Voici un exemple de fichier de configuration Nginx:

Worker_Processes 1;

événements {
    Worker_Connections 1024;
}

http {
    Backend en amont {
        serveur backend1: 80;
        serveur backend2: 80;
    }

    serveur {
        Écoutez 80;

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

Dans ce fichier de configuration, nous définissons un backend en amont, qui contient les adresses et les ports de plusieurs conteneurs backend. Ensuite, dans le bloc de serveur, nous transférons la demande au service backend via la directive Proxy_Pass et passons l'en-tête de demande à l'aide de la directive Proxy_Set_header.

4. Construire l'image docker

Mettez le fichier de configuration Nginx.conf et DockerFile dans le même répertoire et utilisez la commande suivante pour créer une image Docker:

docker build -t my-nginx.

5. Exécutez plusieurs conteneurs

Après avoir configuré le serveur proxy Nginx, nous devons démarrer plusieurs conteneurs Docker en tant que services backend. Deux conteneurs peuvent être exécutés avec la commande suivante:

docker run -d --name backend1 my-nginx
docker run -d --name backend2 my-nginx

De cette façon, le service Nginx dans les deux conteneurs commence à fonctionner.

6. Démarrer le serveur proxy Nginx

Ensuite, nous devons créer un nouveau conteneur pour exécuter le serveur proxy Nginx configuré et le connecter au conteneur backend. Le serveur proxy peut être démarré avec la commande suivante:

docker run -d -p 80:80 - link backend1 - link backend2 my-nginx

À l'heure actuelle, toutes les demandes du port hôte 80 seront reçues par le serveur proxy Nginx et distribuées au conteneur backend en fonction de l'algorithme d'équilibrage de charge.

Résumer

En configurant un serveur proxy Nginx, nous pouvons facilement réaliser un équilibre de charge de service Web entre plusieurs conteneurs Docker. Cela améliore non seulement les performances et la stabilité de l'application, mais utilise également efficacement les ressources du serveur. Espérons que les étapes et les exemples de code fournis dans cet article peuvent vous aider à mieux configurer et utiliser Nginx pour l'équilibrage de charge.