Nginx服务器作反向代理时的缓存配置要点解析

这里给出示例,并详解。

  http {  [...]  [...]     proxy_cache_path /data/nginx/cache/one levels=1:2  keys_zone=one:10m max_size=10g;  proxy_cache_key "$host$request_uri";     server {    server_name www.jb51.net jb51.net;    root /home/www.jb51.net/web;    index index.php index.html index.htm;    location / {      proxy_pass http://127.0.0.1:8080;      proxy_set_header Host "www.jb51.net";      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;      #开启反向代理缓存,并使用zone name为one的缓存。      proxy_cache one;      #设置状态码为200 302过期时间为10分钟      proxy_cache_valid 200 302 10m;      #设置状态码404的过期时间为1分钟      proxy_cache_valid 404   1m;    }    #清除缓存    location ~ /purge(/.*) {      #允许的IP      allow 127.0.0.1;      deny all;      proxy_cache_purge one $host$1$is_args$args;    }  }     }  

反向代理的缓存主要涉及以下几个命令:

proxy_cache_path proxy_cache_key proxy_cache proxy_cache_valid。
1.proxy_cache_path

这个是设置缓存的目录,语法如下:

代码如下:
proxy_cache_path path [ levels = levels ] keys_zone = name : size [ inactive = time ] [ max_size = size ] [ loader_files = number ] [ loader_sleep = time ] [ loader_threshold = time ]

参与评论