文章不易,请关注公众号 毛毛虫的小小蜡笔,多多反对,谢谢。
简介
缓存有很多种,这里讲的是 nginx 的缓存。
nginx 是通过 proxy_buffers 来实现的。
nginx 配置
// 先在 http 模块中设置好
proxy_connect_timeout 10;
proxy_read_timeout 180;
proxy_send_timeout 5;
proxy_buffering on;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
proxy_temp_path /data/nginx/cachetemp;
proxy_cache_path /data/nginx/cache levels=1:2 keys_zone=cache_one:100m inactive=480m max_size=1g;
// 而后再匹配动态资源来缓存
location ~ .(jpg|jepg|png|gif|css|js) {
proxy_pass http://localhost:8082;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_cache cache_one;
proxy_cache_valid 200 302 24h;
proxy_cache_valid 301 30d;
proxy_cache_valid any 5m;
expires 90d;
// 用于测试缓存否失效
add_header Nginx-Cache 1;
}
如果重启 nginx 后,发现没有失效,那能够测试下配置文件是否 ok。
命令是:nginx -t -c /etc/nginx/nginx.conf
成果
通过响应头咱们能够看到,特意设置的字段,证实缓存失效了。
如下截图所示:
再到机器上查看 cache 目录。也是能看到缓存的文件的。
详情 请查看:毛毛虫的小小蜡笔