美文网首页
2.4 nginx 浏览器缓存

2.4 nginx 浏览器缓存

作者: 呆叔么么 | 来源:发表于2020-02-02 14:47 被阅读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

    相关文章

      网友评论

          本文标题:2.4 nginx 浏览器缓存

          本文链接:https://www.haomeiwen.com/subject/jykqxhtx.html