nginx page cache
1. 🎜#
Syntaxe : proxy_cache_path path [levels=number] keys_zone=zone_name:zone_size [inactive=time] [max_size=size]
#🎜 🎜 #Valeur par défaut : aucun
Utiliser le champ : http
La directive spécifie le chemin du cache et certains autres paramètres. Les données mises en cache sont stockées dans. le fichier et utilisez la valeur de hachage de l'URL du proxy comme clé et nom de fichier. Le paramètrelevels spécifie le nombre de sous-répertoires mis en cache, par exemple :
proxy_cache_path /data/nginx/cache levels=1:2 keys_zone=one:10m;
/data/nginx/cache/c/29/b7f54b2df7773722d382f4809d65029c
Notez que chaque pool de mémoire défini doit avoir un chemin unique, par exemple :
proxy_cache_path /data/nginx/cache/one levels=1 keys_zone=one:10m; proxy_cache_path /data/nginx/cache/two levels=2:2 keys_zone=two:100m; proxy_cache_path /data/nginx/cache/three levels=1:1:2 keys_zone=three:1000m;
proxy_cache
Après la version 0.7.48, le cache suit les champs d'en-tête "expires", "cache-control: no-cache", "cache-control: max-age=xxx" du backend, après la version 0.7.66, les en-têtes "cache-control: "private" et "no-store" sont également suivis. nginx ne traitera pas l'en-tête "vary" pendant le processus de mise en cache, afin de garantir que certaines données privées ne sont pas visibles pour tous les utilisateurs, le backend doit définir l'en-tête "no-cache" ou "max-age=0", ou proxy_cache_key contient des données spécifiées par l'utilisateur telles que $cookie_xxx. L'utilisation de la valeur du cookie dans le cadre de proxy_cache_key peut empêcher les données privées. d'être mis en cache, il peut donc être utilisé dans différents Spécifiez la valeur de proxy_cache_key séparément dans l'emplacement pour séparer les données privées et les données publiques
L'instruction de cache dépend des tampons proxy (buffers). . Si proxy_buffers est désactivé, le cache ne prendra pas effet. …] heure
#🎜 🎜#Définissez différents temps de cache pour différentes réponses, par exemple : #🎜 🎜#
proxy_cache_valid 200 302 10m; proxy_cache_valid 404 1m;
proxy_cache_valid 5m;
proxy_cache_valid 200 302 10m; proxy_cache_valid 301 1h; proxy_cache_valid any 1m;
[root@nginx ~]# vim /etc/nginx/nginx.conf proxy_cache_path /data/nginx/cache/webserver levels=1:2 keys_zone=webserver:20m max_size=1g; server { listen 80; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / { proxy_pass http://webservers; proxy_set_header x-real-ip $remote_addr; proxy_cache webserver; proxy_cache_valid 200 10m; } }
[root@nginx ~]# mkdir -pv /data/nginx/cache/webserver
$server_addr
adresse du serveur, après avoir terminé le système once Cette valeur peut être déterminée après l'appel. Si vous souhaitez contourner l'appel système, vous devez spécifier l'adresse dans Listen et utiliser le paramètre bind.
$upstream_cache_status
Dans la version 0.8.3 sa valeur peut être :
mise à jour - expiré. Étant donné que proxy/fastcgi_cache_use_stale est en cours de mise à jour, l'ancienne version de la réponse sera utilisée.
périmé - expiré. Lors de l'utilisation de proxy/fastcgi_cache_use_stale, le backend reçoit des réponses obsolètes.
[root@nginx webserver]# service nginx reload nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful 重新载入 nginx: [确定]
7. Recharger le fichier de configuration
[root@nginx ~]# vim /etc/nginx/nginx.conf proxy_cache_path /data/nginx/cache/webserver levels=1:2 keys_zone=webserver:20m max_size=1g; server { listen 80; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; #增加两头部 add_header x-via $server_addr; add_header x-cache $upstream_cache_status; location / { proxy_pass http://webservers; proxy_set_header x-real-ip $remote_addr; proxy_cache webserver; proxy_cache_valid 200 10m; } }
注,从图中我们可以看到,我们访问的服务器是192.168.18.208,缓存命中。大家可以看到是不是很直观啊。下面我们看一下缓存目录。
9.查看一下缓存目录
[root@nginx ~]# cd /data/nginx/cache/webserver/f/63/ [root@nginx 63]# ls 681ad4c77694b65d61c9985553a2763f
注,缓存目录里确实有缓存文件。
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!