Nginx服务器作反向代理时的缓存配置要点解析
这里给出示例,并详解。
http{
[...]
[...]
proxy_cache_path/data/nginx/cache/onelevels=1:2keys_zone=one:10mmax_size=10g;
proxy_cache_key"$host$request_uri";
server{
server_namewww.nhooo.comjb51.net;
root/home/www.nhooo.com/web;
indexindex.phpindex.htmlindex.htm;
location/{
proxy_passhttp://127.0.0.1:8080;
proxy_set_headerHost"www.nhooo.com";
proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for;
#开启反向代理缓存,并使用zonename为one的缓存。
proxy_cacheone;
#设置状态码为200302过期时间为10分钟
proxy_cache_valid20030210m;
#设置状态码404的过期时间为1分钟
proxy_cache_valid4041m;
}
#清除缓存
location~/purge(/.*){
#允许的IP
allow127.0.0.1;
denyall;
proxy_cache_purgeone$host$1$is_args$args;
}
}
}
反向代理的缓存主要涉及以下几个命令:
proxy_cache_pathproxy_cache_keyproxy_cacheproxy_cache_valid。
1.proxy_cache_path
proxy_cache_pathpath[levels=levels]keys_zone=name:size[inactive=time][max_size=size][loader_files=number][loader_sleep=time][loader_threshold=time]
