2.4 nginx 浏览器缓存

2020-02-02  本文已影响0人  呆叔么么
nginx可缓存下游服务器中的静态资源

浏览器缓存原理

浏览器缓存

HTTP协议定义的缓存机制(如:Expires;Cache-control等)

1、浏览器无缓存

2、浏览器有缓存

28404218

校验过期机制

校验是否过期ExpiresCache-Controlmax-age
协议中Etag头信息校验 Etag
Last-Modified头信息校验 Last-Modified

5、配置语法-expires

添加 Cache-ControlExpires

Syntax:  expires [modified]  time;
         expires epoch|max|off;
Default:   expires off;                 # 静态缓存
Context:   http,server,location,if in location

静态缓存设置(主要处理浏览器<=>nginx之间的缓存)

   location ~ .*\.(htm|html)$ {
        expires 24h;
        root  /opt/app/code;
    }

动态缓存设置(主要处理nginx<=>下游服务器之间的缓存)

    upstream tomcats {
        server 192.168.88.128:8080;
        server 192.168.88.129:8080;
        server 192.168.88.130:8080;
        keepalive 32;
    }
    # 开启缓存
    proxy_cache_path /opt/app/cache levels=1:2 keys_zone=imooc_cache:10m max_size=10g inactive=60m use_temp_path=off;
    # 开启并使用缓存
    proxy_cache imooc_cache;
    # 针对200和304状态码的缓存设置过期时间
    proxy_cache_valid 200 304 12h;
    
    server {
        listen 80;
        server_name www.tomcats.com;
        location / {
            proxy_pass http://tomcats;
            proxy_http_version 1.1;
            proxy_set_header Connection "";
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

其中

proxy_cache_path: 代表开启动态缓存的关键词
/opt/app/cache: 代表缓存文件存放的位置
levels=1:2 
keys_zone=imooc_cache:10m 设置共享内存以及占用的空间大小
max_size=10g  设置缓存大小
inactive=60m 当缓存超过60m未被使用,自动清理缓存文件
use_temp_path=off 关闭临时目录的使用

查看

304 Not Modified

上一篇下一篇

猜你喜欢

热点阅读