Maison  >  Article  >  Opération et maintenance  >  Configuration du nettoyage du cache Nginx, optimisation de la mise à jour des ressources statiques du site Web

Configuration du nettoyage du cache Nginx, optimisation de la mise à jour des ressources statiques du site Web

PHPz
PHPzoriginal
2023-07-05 11:57:062053parcourir

Configuration du nettoyage du cache Nginx, optimisation des mises à jour des ressources statiques du site Web

Introduction :
Pendant le processus de développement du site Web, des mises à jour des ressources statiques, telles que CSS, JavaScript et images, sont souvent effectuées. Cependant, en raison du mécanisme de mise en cache du navigateur, les visiteurs peuvent ne pas être en mesure d'obtenir immédiatement la dernière version de la ressource statique. Afin de résoudre ce problème, nous pouvons utiliser Nginx pour la configuration du nettoyage du cache afin d'optimiser la mise à jour des ressources statiques du site Web.

1. Configuration du cache Nginx
Tout d'abord, nous devons ajouter les instructions suivantes au fichier de configuration Nginx nginx.conf pour configurer les paramètres liés au cache :

http {
    ...
    proxy_cache_path /path/to/cache levels=1:2 keys_zone=cache_zone:10m max_size=10g inactive=60m;
    ...

    server {
        ...
        location ~* .(css|js|png|jpg|jpeg|gif|ico)$ {
            expires 30d;
            add_header Pragma public;
            add_header Cache-Control "public";
            proxy_cache cache_zone;
            proxy_cache_key $scheme$proxy_host$uri$is_args$args;
            proxy_cache_valid 200 301 302 404 1d;
        }
        ...
    }
    ...
}
  1. proxy_cache_path : Définissez le chemin d'accès au répertoire de cache. niveaux=1:2 signifie utiliser des sous-répertoires à deux niveaux dans le répertoire de cache pour stocker les fichiers de cache, ce qui peut améliorer la vitesse de recherche des fichiers. keys_zone est le nom de la zone de cache, 10m signifie allouer 10 Mo de mémoire pour l'index du cache. max_size indique la taille maximale du fichier cache et inactive indique que le fichier cache sera supprimé s'il n'est pas consulté dans le délai spécifié.
  2. emplacement : utilisé pour faire correspondre les fichiers de ressources statiques qui doivent être mis en cache. Dans cet exemple, des expressions régulières sont utilisées pour faire correspondre CSS, JavaScript, images et autres fichiers, et le délai d'expiration du cache est défini sur 30 jours.
  3. add_header : ajoutez des informations d'en-tête de réponse HTTP, définissez Pragma sur public et Cache-Control sur public pour garantir que le cache peut être mis en cache par les serveurs de cache et les navigateurs publics.

2. Configuration du nettoyage du cache Nginx
Après avoir mis à jour les fichiers de ressources statiques du site Web, nous devons effacer les fichiers de l'ancienne version dans le cache afin que les visiteurs puissent obtenir les dernières ressources statiques. Pour y parvenir, nous pouvons ajouter le code suivant au fichier de configuration Nginx :

http {
    ...
    proxy_cache_path /path/to/cache levels=1:2 keys_zone=cache_zone:10m max_size=10g inactive=60m;
    ...

    server {
        ...
        location /purge-cache {
            internal;
            proxy_cache_purge cache_zone "$scheme$proxy_host$uri$is_args$args";
        }
        ...
    }
    ...
}
  1. location : Définissez une URL /purge-cache pour déclencher l'opération de nettoyage du cache. Interne signifie que cette URL n'est valide que pour un accès interne.
  2. proxy_cache_purge : Effacez le fichier cache correspondant à l'URL spécifiée.

3. Exemple de code
Supposons que le fichier CSS de notre site Web se trouve à l'adresse http://example.com/static/css/style.css, nous pouvons utiliser le code suivant pour vider le fichier dans le cache :

curl -X PURGE http://example.com/purge-cache/static/css/style.css

Cette demande Cela amènera nginx à effacer le fichier de cache correspondant à l'URL dans le cache, et le cache sera régénéré lors du prochain accès à l'URL.

Conclusion :
En configurant le nettoyage du cache de Nginx, nous pouvons optimiser la mise à jour des ressources statiques sur le site Web. Lorsque nous mettons à jour des ressources statiques, il nous suffit d'envoyer une demande pour vider le cache, afin que les visiteurs puissent obtenir les derniers fichiers de ressources et améliorer les performances du site Web et l'expérience utilisateur.

Référence :

  • Documentation officielle Nginx : https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_cache_purge

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:
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