一、现在讨论两种缓存:
1、浏览器级别的缓存,通过nginx的expires 2h设置浏览器缓存文件2个小时,刷新的时候,浏览器获取该文件通过from cache获取
2、nginx通过proxy_cache缓存源服务器的静态文件,配置如下:
1)、http级别:
proxy_temp_path /home/temp_dir;
proxy_cache_path /home/cache levels=1:2 keys_zone=cache_one:1000m inactive=1d max_size=10g;
2)、location级别:location ~ .*\.(ico|gif|html|js|css|png|jpg|jsx)(.*) {
expires 2h;
proxy_cache cache_one;
proxy_cache_valid 200 302 304 1h;
proxy_cache_valid 301 1d;
proxy_cache_valid any 1m;
proxy_cache_min_uses 1;
proxy_cache_key $host$uri$is_args$args;
proxy_pass http://realserver ;
add_header Nginx-Cache $upstream_cache_status;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
3)、如下缓存不生效,在http级别增加:proxy_ignore_headers "Cache-Control" "Expires" "Set-Cookie" "Vary";