


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 :
- Docker : assurez-vous que le moteur Docker est installé et exécuté avec succès
- Nginx : exécutez le serveur proxy Nginx dans le conteneur Docker ;
- 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
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
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
Ensuite, exécutez les commandes suivantes pour modifier le fichier de configuration Nginx :
cd /etc/nginx/conf.d/ vi default.conf
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; } }
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
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>; }
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>
Remplacez
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; } }
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!

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

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 !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

Sujets chauds

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)

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)

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 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).

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").

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? 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).

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
