继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

在Nginx设置浏览器缓存和Nginx缓存

咖啡不甜不好喝
关注TA
已关注
手记 7
粉丝 1
获赞 0

浏览器缓存:静态资源缓存到浏览器,可以在Nginx中设置客户端浏览器静态资源的缓存时间,也可以禁止客户端浏览器使用缓存

浏览器的响应状态码为304,表示使用的是浏览器缓存,当Nginx判断请求的静态资源没有被更新(根据静态资源的更新时间判断),就会让浏览器使用缓存的数据,如果资源被更新了,就会返回最新的资源给浏览器

可以通过expires设置静态资源在浏览器的缓存时间

location /image {

         root /usr/local/nginx/html/static/imooc;

          expires 10s;

}

expires [time]:设置浏览器资源的缓存时间,expires 10s 表示资源在浏览器缓存10s

expires @[time]:设置浏览器资源缓存的到期时间,expires @22h30m 表示资源在当天的22时30分到期,如果已经过了22h30m,就是第二天的22h30m到期

expires -[time]:表示缓存提前到期,用于清除缓存

expires epoch:不在浏览器缓存资源

expires off:Nginx不对浏览器缓存进行设置,使用浏览器的默认缓存设置

expires max:设置最大的缓存时间,资源的到期时间会非常大,可以认为浏览器缓存的资源永不过期


Nginx缓存:上游服务器静态资源缓存到nginx,比如有一台tomcat静态资源服务器,在Nginx中设置了缓存之后,会把从tomcat静态资源服务器请求到的静态资源缓存到Nginx,并且可以设置静态资源的缓存时间

upstream webs {

        server 192.168.48.130:8080;

}

# proxy_cache_path 设置缓存目录

# keys_zone 设置共享内存,dev_cache是共享内存的名字,10m是共享内存的大小

# max_size 设置缓存的最大大小

# inactive 设置文件的过期时间,超过此时间就会被清理

# use_temp_path 设置是否使用临时目录,使用会影响Nginx性能

proxy_cache_path /usr/local/nginx/cache keys_zone=dev_cache:10m max_size=1g inactive=8h use_temp_path=off;


server {

        listen       88;

        server_name  shuguangtj.mukewang.com;


        location / {

            proxy_pass http://webs;

            # 启用缓存,名字跟keys_zone设置的名字一致

            proxy_cache dev_cache;

            # 针对200和304状态码的资源进去缓存,缓存时间为8小时

            proxy_cache_valid 200 304 8h;

        }

}


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP