文章不易,请关注公众号 毛毛虫的小小蜡笔,多多支持,谢谢。

简介

缓存有很多种,这里讲的是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

效果

通过响应头我们可以看到,特意设置的字段,证明缓存生效了。

如下截图所示:
image.png

再到机器上查看cache目录。也是能看到缓存的文件的。



详情 请查看:毛毛虫的小小蜡笔


simonbaker
256 声望2 粉丝

wx:毛毛虫的小小蜡笔