Maison développement back-end tutoriel php Comment utiliser le serveur proxy Nginx dans Docker pour automatiser le déploiement de services web ?

Comment utiliser le serveur proxy Nginx dans Docker pour automatiser le déploiement de services web ?

Sep 05, 2023 pm 12:07 PM
docker nginx 自动化

Comment utiliser le serveur proxy Nginx dans Docker pour automatiser le déploiement de services web ?

Comment utiliser le serveur proxy Nginx dans Docker pour automatiser le déploiement de services web ?

Avec le développement rapide de la technologie du cloud computing, la technologie de conteneurisation est devenue une méthode de déploiement largement utilisée. En tant que plate-forme de conteneurisation la plus populaire actuellement, Docker offre aux développeurs un moyen rapide et pratique de déployer des applications. L'utilisation de Nginx comme serveur proxy dans Docker peut mettre en œuvre de manière flexible le déploiement et l'expansion de services Web, offrant ainsi aux développeurs une plus grande flexibilité et commodité.

Dans cet article, nous détaillerons comment utiliser le serveur proxy Nginx dans Docker pour automatiser les services Web. Dans le même temps, nous fournirons quelques exemples de code pour aider les lecteurs à mieux comprendre le processus de mise en œuvre.

Tout d'abord, nous devons créer un Dockerfile pour définir notre image Docker. Dans ce fichier, nous devons spécifier l'image de base, installer Nginx et configurer le serveur proxy.

Tout d'abord, nous spécifions l'image de base comme image officielle Nginx :

FROM nginx:latest
Copier après la connexion

Ensuite, nous devons ajouter quelques fichiers de configuration au répertoire de configuration Nginx. Nous devons créer un fichier default.conf pour configurer le port d'écoute du serveur proxy et les règles de proxy inverse : default.conf文件,用来配置代理服务器的监听端口和反向代理规则:

COPY default.conf /etc/nginx/conf.d/
Copier après la connexion

接下来,我们需要编写default.conf文件,并将其复制到镜像中。以下是一个示例的default.conf文件内容:

server {
    listen 80;
    server_name localhost;

    location / {
        proxy_pass http://web-service;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}
Copier après la connexion

在上述的配置中,我们将Nginx配置为监听80端口,并将所接收到的请求反向代理到名为web-service的服务上。通过proxy_set_header指令,我们可以将请求的真实IP和主机信息传递给被代理的服务。

然后,我们需要使用Docker的构建命令来构建我们的镜像。在命令行中,切换到Dockerfile所在的目录,并执行以下命令:

docker build -t nginx-proxy .
Copier après la connexion

上述命令将根据Dockerfile的定义,生成一个名为nginx-proxy的镜像。

接下来,我们需要创建一个Docker Compose文件来定义我们的服务栈。在这个文件中,我们将定义一个Nginx代理服务器和一个待代理的Web服务。

首先,创建一个docker-compose.yml文件,并在其中添加以下内容:

version: '3'

services:
  proxy:
    image: nginx-proxy
    ports:
      - 80:80
    depends_on:
      - web-service

  web-service:
    image: your-web-service-image
Copier après la connexion

在以上配置中,我们定义了两个服务:proxyweb-service。我们将proxy服务映射到Docker主机的80端口,并且指定它依赖于web-service服务。

最后,我们可以使用Docker Compose的命令来启动整个服务栈。在命令行中,切换到Docker Compose文件所在的目录,并执行以下命令:

docker-compose up -d
Copier après la connexion

上述命令将启动整个服务栈,并以后台模式运行。此时,Nginx代理服务器将监听Docker主机的80端口,并将请求代理到web-servicerrreee

Ensuite, nous devons écrire le fichier default.conf, et copiez-le sur l'image. Voici un exemple de contenu du fichier default.conf :

rrreee

Dans la configuration ci-dessus, nous configurons Nginx pour écouter le port 80 et effectuer un proxy inverse des requêtes reçues vers un serveur nommé web- le service du service. Grâce à la directive proxy_set_header, nous pouvons transmettre l'adresse IP réelle et les informations d'hôte demandées au service mandaté.

Ensuite, nous devons utiliser la commande build de Docker pour construire notre image. Dans la ligne de commande, basculez vers le répertoire où se trouve le Dockerfile et exécutez la commande suivante :

rrreee

La commande ci-dessus générera une image nommée nginx-proxy basée sur la définition du Dockerfile. 🎜🎜Ensuite, nous devons créer un fichier Docker Compose pour définir notre pile de services. Dans ce fichier, nous définirons un serveur proxy Nginx et un service Web à proxy. 🎜🎜Tout d'abord, créez un fichier docker-compose.yml et ajoutez-y le contenu suivant : 🎜rrreee🎜Dans la configuration ci-dessus, nous avons défini deux services : proxy et service Web. Nous mappons le service proxy au port 80 de l'hôte Docker et spécifions qu'il dépend du service web-service. 🎜🎜Enfin, nous pouvons utiliser la commande Docker Compose pour démarrer l'intégralité de la pile de services. Dans la ligne de commande, basculez vers le répertoire où se trouve le fichier Docker Compose et exécutez la commande suivante : 🎜rrreee🎜La commande ci-dessus démarrera l'intégralité de la pile de services et s'exécutera en mode arrière-plan. À ce stade, le serveur proxy Nginx écoutera le port 80 de l'hôte Docker et transmettra la requête au service web-service. 🎜🎜Pendant le processus de développement, si nous devons ajouter plus d'instances de service Web, il nous suffit d'ajouter la définition de service correspondante dans le fichier Docker Compose et d'ajouter les règles de proxy inverse correspondantes dans le fichier de configuration Nginx. 🎜🎜En utilisant le serveur proxy Nginx dans Docker, nous pouvons facilement déployer et étendre les services Web. Grâce à la commodité de Docker et à la flexibilité de Nginx, nous pouvons configurer et gérer nos services Web plus librement. Cela apporte plus de commodité et d’efficacité aux développeurs. 🎜🎜Pour résumer, cet article explique comment utiliser le serveur proxy Nginx dans Docker pour réaliser un déploiement automatisé de services Web. Nous construisons d'abord une image contenant Nginx en définissant un fichier Dockerfile, puis utilisons un fichier Docker Compose pour définir l'intégralité de la pile de services. De cette manière, nous pouvons configurer et gérer nos services Web de manière flexible, offrant ainsi plus de flexibilité et de commodité aux développeurs. J'espère que cet article pourra aider les lecteurs à mieux comprendre et appliquer les technologies liées à Docker et Nginx. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment démarrer Nginx dans Linux Comment démarrer Nginx dans Linux Apr 14, 2025 pm 12:51 PM

Étapes pour démarrer Nginx dans Linux: Vérifiez si Nginx est installé. Utilisez SystemCTL Start Nginx pour démarrer le service NGINX. Utilisez SystemCTL Activer Nginx pour activer le démarrage automatique de Nginx au démarrage du système. Utilisez SystemCTL Status Nginx pour vérifier que le démarrage est réussi. Visitez http: // localhost dans un navigateur Web pour afficher la page de bienvenue par défaut.

Comment résoudre l'erreur Nginx403 Comment résoudre l'erreur Nginx403 Apr 14, 2025 pm 12:54 PM

Le serveur n'a pas l'autorisation d'accéder à la ressource demandée, ce qui donne une erreur NGINX 403. Les solutions incluent: vérifier les autorisations de fichiers. Vérifiez la configuration .htaccess. Vérifiez la configuration de Nginx. Configurez les autorisations Selinux. Vérifiez les règles du pare-feu. Dépanner d'autres causes telles que les problèmes de navigateur, les défaillances du serveur ou d'autres erreurs possibles.

Comment vérifier l'état de course de Nginx Comment vérifier l'état de course de Nginx Apr 14, 2025 am 11:48 AM

Les méthodes pour afficher l'état en cours d'exécution de Nginx sont: utilisez la commande PS pour afficher l'état du processus; Afficher le fichier de configuration Nginx /etc/nginx/nginx.conf; Utilisez le module d'état NGINX pour activer le point de terminaison d'état; Utilisez des outils de surveillance tels que Prometheus, Zabbix ou Nagios.

Comment configurer Nginx dans Windows Comment configurer Nginx dans Windows Apr 14, 2025 pm 12:57 PM

Comment configurer Nginx dans Windows? Installez Nginx et créez une configuration d'hôte virtuelle. Modifiez le fichier de configuration principale et incluez la configuration de l'hôte virtuel. Démarrer ou recharger nginx. Testez la configuration et affichez le site Web. Activer sélectivement SSL et configurer les certificats SSL. Définissez sélectivement le pare-feu pour permettre le trafic Port 80 et 443.

Comment nettoyer le journal d'erreur Nginx Comment nettoyer le journal d'erreur Nginx Apr 14, 2025 pm 12:21 PM

Le journal d'erreur est situé dans / var / log / nginx (linux) ou / usr / local / var / log / nginx (macOS). Utilisez la ligne de commande pour nettoyer les étapes: 1. Sauvegarder le journal d'origine; 2. Créez un fichier vide en tant que nouveau journal; 3. Redémarrez le service Nginx. Le nettoyage automatique peut également être utilisé avec des outils tiers tels que Logrotate ou configurés.

Comment résoudre l'erreur Nginx304 Comment résoudre l'erreur Nginx304 Apr 14, 2025 pm 12:45 PM

Réponse à la question: 304 Erreur non modifiée indique que le navigateur a mis en cache la dernière version de ressource de la demande du client. Solution: 1. Effacer le cache du navigateur; 2. Désactiver le cache du navigateur; 3. Configurer Nginx pour permettre le cache client; 4. Vérifier les autorisations du fichier; 5. Vérifier le hachage du fichier; 6. Désactiver le CDN ou le cache proxy inversé; 7. Redémarrez Nginx.

Comment vérifier si Nginx est démarré Comment vérifier si Nginx est démarré Apr 14, 2025 pm 01:03 PM

Comment confirmer si Nginx est démarré: 1. Utilisez la ligne de commande: SystemCTl Status Nginx (Linux / Unix), netStat -ano | Findstr 80 (Windows); 2. Vérifiez si le port 80 est ouvert; 3. Vérifiez le message de démarrage NGINX dans le journal système; 4. Utilisez des outils tiers, tels que Nagios, Zabbix et Icinga.

Comment rediriger dans nginx Comment rediriger dans nginx Apr 14, 2025 am 08:42 AM

Les méthodes de redirection via NGINX sont 301 redirections permanentes (liens de mise à jour ou pages mobiles) et 302 redirections temporaires (gérer les erreurs ou modifications temporaires). La configuration de la redirection implique l'utilisation des directives de localisation dans les blocs de serveurs, les fonctionnalités avancées incluent la correspondance d'expression régulière, la redirection proxy et la redirection basée sur les conditions. Les utilisations courantes des redirectes incluent la mise à jour des URL, la gestion des erreurs, la redirection de HTTP vers HTTPS et la guidage des utilisateurs vers un pays ou une version linguistique spécifique.

See all articles