Maison Opération et maintenance Nginx Pratique de configuration du nettoyage du cache Nginx, optimisation de la mise à jour du contenu du site Web

Pratique de configuration du nettoyage du cache Nginx, optimisation de la mise à jour du contenu du site Web

Jul 04, 2023 am 08:41 AM
nginx缓存 清理配置 内容更新优化

Nginx缓存清理配置实战,优化网站内容更新

引言:
在现代互联网环境下,网站的内容更新速度越来越快,用户对新鲜内容的需求也越来越迫切。为了提高网站的用户体验,减少服务器的负载,网站管理员通常会使用缓存来加速网站的访问速度。Nginx作为一款高性能的Web服务器,具备强大的缓存功能,可以有效地缓存静态资源。然而,缓存过期后如何及时清理,以保证用户能够及时看到最新内容,是一个需要解决的问题。本文将给出Nginx缓存清理的实战配置,帮助网站管理员优化网站内容更新。

一、Nginx缓存配置

  1. Nginx缓存路径设置
    首先,在nginx.conf配置文件中找到http块,将以下配置添加到其中:

    http {
     ...    
     proxy_cache_path /path/to/cache levels=1:2 keys_zone=cache_zone:10m max_size=10g inactive=60m;
     
     server {
         ...
     }
    }
    Copier après la connexion

    以上代码中:

  2. /path/to/cache为缓存文件的路径,根据实际情况进行设置。
  3. levels=1:2表示缓存文件系统的层级结构,可根据实际需求进行调整。
  4. keys_zone=cache_zone:10m指定了缓存文件的内存空间,10m表示10兆字节。
  5. max_size=10g是缓存文件的最大容量,10g表示10千兆字节。
  6. inactive=60m表示缓存文件在60分钟没有被访问后,将被删除。
  7. 缓存配置
    在需要进行缓存的服务中,添加以下配置:

    location / {
     proxy_cache cache_zone;
     proxy_cache_valid 200 302 5m;
     proxy_cache_valid 404 1m;
     
     proxy_pass http://backend;
    }
    Copier après la connexion

    以上代码中:

  8. proxy_cache cache_zone;指定了使用之前设置的缓存区域。
  9. proxy_cache_valid 200 302 5m;表示对于状态码为200和302的响应,缓存有效时间为5分钟。
  10. proxy_cache_valid 404 1m;表示对于状态码为404的响应,缓存有效时间为1分钟。
  11. proxy_pass http://backend;指定了反向代理的后端服务器地址。

二、Nginx缓存清理配置
为了保证用户能够及时看到最新的内容,缓存清理是必不可少的。Nginx提供了许多方法来清理缓存,本文将介绍几种常用的方法。

  1. 手动清理
    可以手动删除缓存文件来清理Nginx缓存。首先,进入到缓存文件所在的目录,执行以下命令:

    rm -rf /path/to/cache/*
    Copier après la connexion

    以上命令将删除该目录下的所有缓存文件。

  2. 使用Nginx提供的模块
    Nginx提供了ngx_cache_purge模块,可以通过配置项proxy_cache_purge来清理缓存。首先,在nginx.conf配置文件的http块中添加以下配置:

    http {
     ...
     
     proxy_cache_path /path/to/cache levels=1:2 keys_zone=cache_zone:10m max_size=10g inactive=60m;
     
     server {
         ...
         
         location ~ /purge(/.*) {
             allow all;
             proxy_cache_purge cache_zone $1$is_args$args;
         }
     }
    }
    Copier après la connexion

    以上配置中,~ /purge(/.*)表示匹配以/purge/开头的路径。在需要清理缓存的地方,发送一个带有/purge/路径的GET请求即可,例如:

    curl -X GET http://your-domain.com/purge/your/path
    Copier après la connexion

    以上命令将清除your/path对应的缓存。

  3. 使用Lua脚本
    Nginx还支持使用Lua脚本来清理缓存。首先,需要在Nginx中安装lua-nginx-module模块。接着,在nginx.conf配置文件中添加以下配置:

    http {
     ...
     
     proxy_cache_path /path/to/cache levels=1:2 keys_zone=cache_zone:10m max_size=10g inactive=60m;
     
     server {
         ...
         
         location ~ /purge(/.*) {
             set $key $1$is_args$args;
             access_by_lua_file /path/to/purge.lua;
         }
     }
    }
    Copier après la connexion

    以上配置中,access_by_lua_file指令会指定一个Lua脚本文件来处理清理缓存的逻辑。在/purge.lua文件中,添加以下代码:

    local cache_zone = ngx.shared.cache_zone
    ngx.req.read_body()
    local key = ngx.var.key
    ngx.say("Purging cache for key: " .. key)
    
    cache_zone:delete(key)
    Copier après la connexion

    以上代码中,ngx.shared.cache_zone表示从Nginx中获取之前定义的缓存区域。ngx.var.key表示从Nginx中获取清理缓存的路径,然后使用cache_zone:delete(key)来删除对应的缓存。

结论:
通过以上实战配置,我们可以清理Nginx缓存,保证用户能够及时看到最新的内容。使用缓存能够显著提高网站的访问速度和用户体验,但是缓存过期后要及时清理,以免给用户提供过时的内容。无论是手动清理、使用Nginx提供的模块还是使用Lua脚本,选择适合自己的方法来处理缓存清理是非常重要的,以便提高网站的性能和可用性。

参考资料:

  • Nginx documentation, ngx_http_proxy_module
  • Nginx documentation, ngx_cache_purge_module
  • OpenResty documentation, lua-nginx-module

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)

Ticage de performances Nginx: Optimisation de la vitesse et de la faible latence Ticage de performances Nginx: Optimisation de la vitesse et de la faible latence Apr 05, 2025 am 12:08 AM

Le réglage des performances de Nginx peut être obtenu en ajustant le nombre de processus de travail, la taille du pool de connexion, l'activation des protocoles de compression GZIP et HTTP / 2 et en utilisant l'équilibrage du cache et de la charge. 1. Ajustez le nombre de processus de travail et la taille du pool de connexion: Worker_ProcessesAuto; Événements {Worker_Connections1024;}. 2. Activer la compression GZIP et le protocole http / 2: http {gzipon; serveur {écouter443sslhttp2;}}. 3. Utilisez l'optimisation du cache: http {proxy_cache_path / path / to / cachelevels = 1: 2k

Certification multipartite: la version standard de l'iPhone 17 prendra en charge le taux de rafraîchissement élevé! Pour la première fois dans l'histoire! Certification multipartite: la version standard de l'iPhone 17 prendra en charge le taux de rafraîchissement élevé! Pour la première fois dans l'histoire! Apr 13, 2025 pm 11:15 PM

L'iPhone 17 d'Apple peut inaugurer une mise à niveau majeure pour faire face à l'impact de solides concurrents tels que Huawei et Xiaomi en Chine. Selon le blogueur numérique @digital Chat Station, la version standard de l'iPhone 17 devrait être équipée d'un écran de taux de rafraîchissement élevé pour la première fois, améliorant considérablement l'expérience utilisateur. Cette décision marque le fait qu'Apple a finalement délégué une technologie de taux de rafraîchissement élevé à la version standard après cinq ans. À l'heure actuelle, l'iPhone 16 est le seul téléphone phare avec un écran de 60 Hz dans la gamme de prix de 6 000 yuans, et cela semble un peu en retard. Bien que la version standard de l'iPhone 17 aura un écran de taux de rafraîchissement élevé, il existe toujours des différences par rapport à la version Pro, telles que la conception de la lunette n'atteint toujours pas l'effet de la lunette ultra-narrow de la version Pro. Ce qui mérite le plus de noter, c'est que la série iPhone 17 Pro adoptera un tout nouveau et plus

Configuration avancée de Nginx: Mastering Server Blocks et proxy inversé Configuration avancée de Nginx: Mastering Server Blocks et proxy inversé Apr 06, 2025 am 12:05 AM

La configuration avancée de Nginx peut être implémentée via des blocs de serveur et un proxy inversé: 1. Les blocs de serveur permettent d'exécuter plusieurs sites Web en une seule instance, chaque bloc est configuré indépendamment. 2. Le proxy inversé transfère la demande au serveur backend pour réaliser l'équilibrage de charge et l'accélération du cache.

Comment configurer le nom de domaine du serveur cloud dans nginx Comment configurer le nom de domaine du serveur cloud dans nginx Apr 14, 2025 pm 12:18 PM

Comment configurer un nom de domaine NGINX sur un serveur cloud: Créez un enregistrement A pointant vers l'adresse IP publique du serveur cloud. Ajoutez des blocs d'hôtes virtuels dans le fichier de configuration Nginx, en spécifiant le port d'écoute, le nom de domaine et le répertoire racine du site Web. Redémarrez Nginx pour appliquer les modifications. Accéder à la configuration du test de nom de domaine. Autres notes: Installez le certificat SSL pour activer HTTPS, assurez-vous que le pare-feu autorise le trafic Port 80 et attendez que la résolution DNS prenne effet.

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 vérifier la version nginx Comment vérifier la version nginx Apr 14, 2025 am 11:57 AM

Les méthodes qui peuvent interroger la version Nginx sont: utilisez la commande nginx -v; Afficher la directive de version dans le fichier nginx.conf; Ouvrez la page d'erreur Nginx et affichez le titre de la page.

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 démarrer le serveur Nginx Comment démarrer le serveur Nginx Apr 14, 2025 pm 12:27 PM

Le démarrage d'un serveur Nginx nécessite différentes étapes en fonction des différents systèmes d'exploitation: Système Linux / Unix: Installez le package NGINX (par exemple, en utilisant Apt-Get ou Yum). Utilisez SystemCTL pour démarrer un service NGINX (par exemple, sudo systemctl start nginx). Système Windows: téléchargez et installez les fichiers binaires Windows. Démarrer Nginx à l'aide de l'exécutable Nginx.exe (par exemple, nginx.exe -c conf \ nginx.conf). Peu importe le système d'exploitation que vous utilisez, vous pouvez accéder au serveur IP

See all articles