Maison développement back-end tutoriel php Comment utiliser le serveur proxy Nginx dans Docker pour implémenter la mise en cache dynamique des services Web ?

Comment utiliser le serveur proxy Nginx dans Docker pour implémenter la mise en cache dynamique des services Web ?

Sep 06, 2023 pm 12:12 PM
docker nginx Mise en cache dynamique

Comment utiliser le serveur proxy Nginx dans Docker pour implémenter la mise en cache dynamique des services Web ?

Comment utiliser le serveur proxy Nginx dans Docker pour implémenter la mise en cache dynamique des services Web ?

Introduction

Dans le développement Web, la mise en cache dynamique est l'un des moyens importants pour améliorer les performances et la vitesse de réponse des applications Web. Dans un environnement conteneurisé Docker, l'utilisation de Nginx comme serveur proxy pour implémenter la mise en cache dynamique peut encore améliorer l'évolutivité et la flexibilité du système. Cet article explique comment utiliser Nginx dans un conteneur Docker pour implémenter la mise en cache dynamique des services Web et l'explique en détail avec des exemples de code.

1. Préparation de l'environnement

Avant de commencer, nous devons préparer l'environnement suivant :

  1. Docker : assurez-vous que le moteur Docker est installé et exécuté avec succès
  2. Nginx : exécutez le serveur proxy Nginx dans le conteneur Docker ;
  3. Application Web : Préparez une application Web simple pour tester l'effet de la mise en cache dynamique.

2. Créer un conteneur Docker

Tout d'abord, nous devons créer un conteneur Docker et y exécuter le serveur proxy Nginx. Exécutez la commande suivante pour créer et démarrer un conteneur Nginx :

docker run -d --name nginx-proxy -p 80:80 nginx
Copier après la connexion

Cette commande téléchargera et exécutera la dernière version de Nginx et mappera le port 80 du conteneur au port 80 de l'hôte afin que nous puissions accéder au proxy Nginx via l'IP de l'hôte. serveur d'adresses.

Pour vérifier si le conteneur est créé et exécuté avec succès, vous pouvez exécuter la commande suivante :

docker ps
Copier après la connexion

Si vous voyez le statut du conteneur comme "Up", cela signifie que le conteneur a été créé avec succès.

3. Configurer le serveur proxy Nginx

Ensuite, nous devons configurer le serveur proxy Nginx pour implémenter la mise en cache dynamique des services Web. Tout d'abord, entrez dans le terminal bash du conteneur Nginx :

docker exec -it nginx-proxy bash
Copier après la connexion

Ensuite, exécutez les commandes suivantes pour modifier le fichier de configuration Nginx :

cd /etc/nginx/conf.d/

vi default.conf
Copier après la connexion

Dans le fichier default.conf, nous devons configurer les éléments suivants :

server {
    listen 80;
    server_name localhost;
    
    location / {
        proxy_pass http://web-app;
        proxy_cache my_cache;
        proxy_cache_valid 200 1d;
        proxy_cache_use_stale error timeout updating http_500 http_502 http_503 http_504;
    }
}
Copier après la connexion

Dans ce qui précède configuration, on passe La directive proxy_pass transmet la requête du client au serveur en amont nommé "web-app". En même temps, dans le bloc location, nous utilisons la directive proxy_cache pour activer la fonction de cache du serveur proxy, et utilisons la directive proxy_cache_valid pour configurer la période de validité du cache. De plus, la directive proxy_cache_use_stale est utilisée pour permettre au serveur proxy de renvoyer une copie des anciennes données du cache au client lors de la mise à jour du cache.

Après avoir enregistré et quitté l'éditeur, redémarrez le service Nginx pour que la configuration prenne effet :

service nginx restart
Copier après la connexion

4. Configurez l'application Web

Dans l'étape précédente, nous avons configuré le serveur proxy Nginx pour implémenter la mise en cache dynamique. Ensuite, nous devons effectuer une configuration de l'application Web afin qu'elle puisse communiquer correctement avec le serveur proxy Nginx.

Dans le fichier de configuration de l'application web, nous devons ajouter le contenu suivant :

upstream web-app {
    server <web-app-container-ip>;
}
Copier après la connexion

Dans la configuration ci-dessus, nous utilisons la directive en amont pour définir le serveur en amont nommé "web-app" et spécifier son adresse IP comme < ;web -app-container-ip>. L'adresse IP peut être obtenue en exécutant la commande suivante :

docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' <web-app-container-id>
Copier après la connexion

Remplacez par l'adresse IP réelle du conteneur et enregistrez le fichier de configuration.

5. Testez le cache dynamique

Après avoir terminé la configuration ci-dessus, nous pouvons tester le cache dynamique. Tout d'abord, ouvrez un navigateur sur la machine hôte et entrez « http://localhost » pour accéder à l'application Web. À ce stade, le serveur proxy Nginx transmettra la requête à l'application Web et mettra en cache les données de réponse renvoyées.

Ensuite, actualisez à nouveau la page du navigateur. Si le cache dynamique est configuré normalement, le serveur proxy Nginx obtiendra directement les données de réponse du cache et les renverra au client sans envoyer à nouveau de requête à l'application Web, améliorant ainsi les performances et la vitesse de réponse du système.

Exemple de code de référence :

server {
    listen 80;
    server_name localhost;
    
    location / {
        proxy_pass http://web-app;
        proxy_cache my_cache;
        proxy_cache_valid 200 1d;
        proxy_cache_use_stale error timeout updating http_500 http_502 http_503 http_504;
    }
}
Copier après la connexion

Résumé

Cet article explique comment utiliser le serveur proxy Nginx dans Docker pour implémenter la mise en cache dynamique des services Web. En configurant la directive proxy_cache et la directive proxy_cache_valid de Nginx, nous pouvons facilement activer et configurer la fonction de mise en cache de Nginx. Dans le même temps, grâce à la démonstration d'un exemple de code, nous avons appris à créer un conteneur Nginx dans un environnement Docker, ainsi qu'à configurer et activer la fonction de mise en cache dynamique. De cette manière, nous pouvons améliorer efficacement les performances et la vitesse de réponse des applications Web et améliorer l'expérience utilisateur.

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

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

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 sortir du conteneur par Docker Comment sortir du conteneur par Docker Apr 15, 2025 pm 12:15 PM

Quatre façons de quitter Docker Container: Utilisez Ctrl D dans le terminal de conteneur Entrez la commande d'exit dans le terminal de conteneur Utilisez Docker Stop & lt; contener_name & gt; Commande utilise docker kill & lt; contener_name & gt; commande dans le terminal hôte (sortie de force)

Comment mettre à jour l'image de Docker Comment mettre à jour l'image de Docker Apr 15, 2025 pm 12:03 PM

Les étapes pour mettre à jour une image Docker sont les suivantes: Tirez la dernière étiquette d'image Nouvelle image Supprimer l'ancienne image pour une balise spécifique (facultative) Redémarrez le conteneur (si nécessaire)

Comment copier des fichiers dans Docker à l'extérieur Comment copier des fichiers dans Docker à l'extérieur Apr 15, 2025 pm 12:12 PM

Méthodes de copie de fichiers en hôtes externes dans Docker: Utilisez la commande docker cp: exécuter docker cp [options] & lt; Container Path & gt; & lt; Host Path & gt;. Utilisation de volumes de données: créez un répertoire sur l'hôte et utilisez le paramètre -v pour monter le répertoire dans le conteneur lors de la création du conteneur pour obtenir la synchronisation de fichiers bidirectionnels.

Comment redémarrer Docker Comment redémarrer Docker Apr 15, 2025 pm 12:06 PM

Comment redémarrer le conteneur Docker: Obtenez l'ID de conteneur (Docker PS); Arrêtez le conteneur (docker stop & lt; contener_id & gt;); Démarrer le conteneur (docker start & lt; contener_id & gt;); Vérifiez que le redémarrage réussit (Docker PS). Autres méthodes: Docker Compose (redémarrage Docker-Compose) ou API Docker (voir Docker Documentation).

Comment vérifier le nom du conteneur Docker Comment vérifier le nom du conteneur Docker Apr 15, 2025 pm 12:21 PM

Vous pouvez interroger le nom du conteneur Docker en suivant les étapes: répertorier tous les conteneurs (Docker PS). Filtrez la liste des conteneurs (à l'aide de la commande grep). Obtient le nom du conteneur (situé dans la colonne "Noms").

Comment afficher le processus Docker Comment afficher le processus Docker Apr 15, 2025 am 11:48 AM

Méthode de visualisation du processus docker: 1. Commande Docker CLI: Docker PS; 2. Commande CLI Systemd: Docker d'état SystemCTL; 3. Docker Compose CLI Commande: Docker-Compose PS; 4. Process Explorer (Windows); 5. / Répertoire proc (Linux).

Comment utiliser Docker Desktop Comment utiliser Docker Desktop Apr 15, 2025 am 11:45 AM

Comment utiliser Docker Desktop? Docker Desktop est un outil pour exécuter des conteneurs Docker sur les machines locales. Les étapes à utiliser incluent: 1. Installer Docker Desktop; 2. Démarrer Docker Desktop; 3. Créer une image Docker (à l'aide de DockerFile); 4. Build Docker Image (en utilisant Docker Build); 5. Exécuter Docker Container (à l'aide de Docker Run).

Comment démarrer MySQL par Docker Comment démarrer MySQL par Docker Apr 15, 2025 pm 12:09 PM

Le processus de démarrage de MySQL dans Docker se compose des étapes suivantes: Tirez l'image MySQL pour créer et démarrer le conteneur, définir le mot de passe de l'utilisateur racine et mapper la connexion de vérification du port Créez la base de données et l'utilisateur accorde toutes les autorisations sur la base de données

See all articles