Maison Opération et maintenance Nginx Comment Nginx implémente la configuration du contrôle du cache pour les requêtes HTTP

Comment Nginx implémente la configuration du contrôle du cache pour les requêtes HTTP

Nov 08, 2023 am 09:35 AM
nginx http请求 缓存配置

Comment Nginx implémente la configuration du contrôle du cache pour les requêtes HTTP

Comment Nginx implémente la configuration du contrôle du cache des requêtes HTTP

Nginx, en tant que serveur Web hautes performances et serveur proxy inverse, dispose de puissantes fonctions de gestion et de contrôle du cache et peut réaliser le contrôle du cache des requêtes HTTP via la configuration. Cet article présentera en détail comment Nginx implémente la configuration du contrôle de cache pour les requêtes HTTP et fournira des exemples de code spécifiques.

1. Présentation de la configuration du cache Nginx
La configuration du cache Nginx est principalement implémentée via le module proxy_cache. Ce module fournit une multitude d'instructions et de paramètres qui peuvent contrôler efficacement le comportement du cache. Avant de configurer le cache, vous devez charger le module proxy_cache dans le fichier de configuration Nginx. L'instruction spécifique est :

load_module modules/ngx_http_proxy_module.so;
Copier après la connexion

Cette instruction chargera le module proxy_cache Nginx afin que nous puissions utiliser les instructions de contrôle de cache pertinentes dans le fichier de configuration.

2. Explication détaillée des instructions de contrôle du cache

  1. proxy_cache_path

La directive proxy_cache_path est utilisée pour définir le chemin du cache et les paramètres de configuration associés, tels que le chemin de stockage du cache, la taille du cache, la stratégie du cache, etc. L'utilisation spécifique est la suivante :

proxy_cache_path /data/nginx/cache levels=1:2 keys_zone=my_cache:10m max_size=10g
               inactive=60m use_temp_path=off;
Copier après la connexion

Dans cet exemple, nous définissons une zone de cache nommée my_cache, le chemin du cache est /data/nginx/cache, la taille maximale du cache est de 10 Go et le délai d'expiration du cache est de 60 minutes. Il convient de noter que les paramètres de configuration doivent être ajustés en fonction des besoins réels. La directive

  1. proxy_cache

proxy_cache est utilisée pour activer la mise en cache et définir la zone de cache utilisée, qui peut être configurée dans le bloc d'emplacement, par exemple :

location / {
    proxy_cache my_cache;
    proxy_cache_valid 200 304 5m;
    proxy_cache_valid 301 302 1h;
    proxy_cache_key $host$uri$is_args$args;
    proxy_cache_use_stale error timeout updating http_500 http_502 http_503 http_504;
    proxy_cache_background_update on;
    proxy_cache_lock on;
    proxy_cache_lock_timeout 5s;
    proxy_cache_revalidate on;
    proxy_cache_min_uses 3;
    proxy_cache_bypass $http_x_token;
    proxy_cache_methods GET HEAD;
}
Copier après la connexion

Dans la configuration ci-dessus, nous avons activé la zone de cache nommée my_cache, et La durée de validité du cache, la clé de cache, la stratégie de mise à jour du cache et d'autres paramètres des différents codes d'état de réponse sont définis. Ces paramètres peuvent être configurés de manière flexible en fonction des exigences spécifiques de mise en cache. La directive

  1. proxy_ignore_headers

proxy_ignore_headers est utilisée pour spécifier les en-têtes de réponse HTTP que Nginx doit ignorer lors de la mise en cache, par exemple :

proxy_ignore_headers Cache-Control Set-Cookie;
Copier après la connexion

Dans cet exemple, nous demandons à Nginx d'ignorer les réponses Cache-Control et Set-Cookie lors de la mise en cache de l'en-tête. pour garantir la cohérence et la validité du cache. La directive

  1. proxy_cache_lock

proxy_cache_lock est utilisée pour contrôler l'accès simultané au contenu du cache, ce qui peut efficacement éviter les pannes de cache, les avalanches et d'autres problèmes, tels que :

proxy_cache_lock on;
proxy_cache_lock_timeout 5s;
Copier après la connexion

Dans cet exemple, nous activons le verrouillage du cache et définissons un 5 Un délai d'attente en secondes après lequel les requêtes continueront d'accéder au serveur backend pour mettre à jour le contenu mis en cache.

3. Exemple de code
Sur la base des instructions de contrôle de cache ci-dessus, nous pouvons écrire un exemple de configuration Nginx complet pour implémenter le contrôle de cache des requêtes HTTP. Voici un exemple simple de configuration Nginx :

load_module modules/ngx_http_proxy_module.so;

http {
    proxy_cache_path /data/nginx/cache levels=1:2 keys_zone=my_cache:10m max_size=10g
               inactive=60m use_temp_path=off;

    server {
        listen 80;
        server_name example.com;

        location / {
            proxy_pass http://backend_server;
            proxy_cache my_cache;
            proxy_cache_valid 200 304 5m;
            proxy_cache_valid 301 302 1h;
            proxy_cache_key $host$uri$is_args$args;
            proxy_cache_use_stale error timeout updating http_500 http_502 http_503 http_504;
            proxy_cache_background_update on;
            proxy_cache_lock on;
            proxy_cache_lock_timeout 5s;
            proxy_cache_revalidate on;
            proxy_cache_min_uses 3;
            proxy_cache_bypass $http_x_token;
            proxy_cache_methods GET HEAD;
            proxy_ignore_headers Cache-Control Set-Cookie;
        }
    }
}
Copier après la connexion

Dans l'exemple ci-dessus, nous avons d'abord chargé le module ngx_http_proxy_module, puis défini une zone de cache nommée my_cache, configuré un emplacement proxy dans le bloc serveur et activé la mise en cache et les instructions de contrôle de cache correspondantes. . Lorsqu'un utilisateur accède à example.com, Nginx effectuera la gestion et le contrôle du cache en fonction des règles de cache configurées.

IV.Résumé
Grâce à l'introduction et aux exemples ci-dessus, nous avons une compréhension détaillée de la façon dont Nginx implémente la configuration du contrôle de cache pour les requêtes HTTP, ainsi qu'une explication détaillée et une démonstration des instructions pertinentes fournies par le module proxy_cache. Une configuration raisonnable du cache peut améliorer considérablement la vitesse d'accès et les performances du site Web, réduire la pression sur le serveur principal et offrir une meilleure expérience utilisateur. Par conséquent, dans le développement réel d’applications Web, il est très important d’utiliser correctement la fonction de contrôle du cache de 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
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines 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 autoriser l'accès au réseau externe au serveur Tomcat Comment autoriser l'accès au réseau externe au serveur Tomcat Apr 21, 2024 am 07:22 AM

Pour permettre au serveur Tomcat d'accéder au réseau externe, vous devez : modifier le fichier de configuration Tomcat pour autoriser les connexions externes. Ajoutez une règle de pare-feu pour autoriser l'accès au port du serveur Tomcat. Créez un enregistrement DNS pointant le nom de domaine vers l'adresse IP publique du serveur Tomcat. Facultatif : utilisez un proxy inverse pour améliorer la sécurité et les performances. Facultatif : configurez HTTPS pour une sécurité accrue.

Définir les paramètres de requête pour les requêtes HTTP à l'aide de Golang Définir les paramètres de requête pour les requêtes HTTP à l'aide de Golang Jun 02, 2024 pm 03:27 PM

Pour définir les paramètres de requête pour les requêtes HTTP dans Go, vous pouvez utiliser la méthode http.Request.URL.Query().Set(), qui accepte les noms et valeurs des paramètres de requête comme paramètres. Les étapes spécifiques incluent : Créer une nouvelle requête HTTP. Utilisez la méthode Query().Set() pour définir les paramètres de requête. Encodez la demande. Exécutez la demande. Obtenez la valeur d'un paramètre de requête (facultatif). Supprimez les paramètres de requête (facultatif).

Bienvenue sur nginx !Comment le résoudre ? Bienvenue sur nginx !Comment le résoudre ? Apr 17, 2024 am 05:12 AM

Pour résoudre l'erreur "Bienvenue sur nginx!", vous devez vérifier la configuration de l'hôte virtuel, activer l'hôte virtuel, recharger Nginx, si le fichier de configuration de l'hôte virtuel est introuvable, créer une page par défaut et recharger Nginx, puis le message d'erreur. disparaîtra et le site Web sera affiché normalement.

Comment générer une URL à partir d'un fichier HTML Comment générer une URL à partir d'un fichier HTML Apr 21, 2024 pm 12:57 PM

La conversion d'un fichier HTML en URL nécessite un serveur Web, ce qui implique les étapes suivantes : Obtenir un serveur Web. Configurez un serveur Web. Téléchargez le fichier HTML. Créez un nom de domaine. Acheminez la demande.

Comment déployer le projet nodejs sur le serveur Comment déployer le projet nodejs sur le serveur Apr 21, 2024 am 04:40 AM

Étapes de déploiement de serveur pour un projet Node.js : Préparez l'environnement de déploiement : obtenez l'accès au serveur, installez Node.js, configurez un référentiel Git. Créez l'application : utilisez npm run build pour générer du code et des dépendances déployables. Téléchargez le code sur le serveur : via Git ou File Transfer Protocol. Installer les dépendances : connectez-vous en SSH au serveur et installez les dépendances de l'application à l'aide de npm install. Démarrez l'application : utilisez une commande telle que node index.js pour démarrer l'application ou utilisez un gestionnaire de processus tel que pm2. Configurer un proxy inverse (facultatif) : utilisez un proxy inverse tel que Nginx ou Apache pour acheminer le trafic vers votre application

Nodejs est-il accessible de l'extérieur ? Nodejs est-il accessible de l'extérieur ? Apr 21, 2024 am 04:43 AM

Oui, Node.js est accessible de l’extérieur. Vous pouvez utiliser les méthodes suivantes : Utilisez Cloud Functions pour déployer la fonction et la rendre accessible au public. Utilisez le framework Express pour créer des itinéraires et définir des points de terminaison. Utilisez Nginx pour inverser les requêtes de proxy vers les applications Node.js. Utilisez des conteneurs Docker pour exécuter des applications Node.js et les exposer via le mappage de ports.

Comment déployer et maintenir un site Web en utilisant PHP Comment déployer et maintenir un site Web en utilisant PHP May 03, 2024 am 08:54 AM

Pour déployer et maintenir avec succès un site Web PHP, vous devez effectuer les étapes suivantes : Sélectionnez un serveur Web (tel qu'Apache ou Nginx) Installez PHP Créez une base de données et connectez PHP Téléchargez le code sur le serveur Configurez le nom de domaine et la maintenance du site Web de surveillance DNS les étapes comprennent la mise à jour de PHP et des serveurs Web, la sauvegarde du site Web, la surveillance des journaux d'erreurs et la mise à jour du contenu.

Comment utiliser Fail2Ban pour protéger votre serveur contre les attaques par force brute Comment utiliser Fail2Ban pour protéger votre serveur contre les attaques par force brute Apr 27, 2024 am 08:34 AM

Une tâche importante pour les administrateurs Linux est de protéger le serveur contre les attaques ou les accès illégaux. Par défaut, les systèmes Linux sont livrés avec des pare-feu bien configurés, tels que iptables, Uncomplicated Firewall (UFW), ConfigServerSecurityFirewall (CSF), etc., qui peuvent empêcher diverses attaques. Toute machine connectée à Internet est une cible potentielle d'attaques malveillantes. Il existe un outil appelé Fail2Ban qui peut être utilisé pour atténuer les accès illégaux sur le serveur. Qu’est-ce que Fail2Ban ? Fail2Ban[1] est un logiciel de prévention des intrusions qui protège les serveurs des attaques par force brute. Il est écrit en langage de programmation Python

See all articles