Nginx - linux 缓存与反向代理缓存

                Nginx - linux 缓存与反向代理缓存

缓存类型

  • 浏览器缓存:
    • 加速用户访问,提升单个用户体验缓存到本地
  • nginx缓存:
    • 缓存在nginx端,提升所有访问nginx端的用户
    • 提升访问上游(upstream)服务器的速度
    • 用户访问仍会产生请求流量
  • 反向代理缓存:
    • 在nginx设置临时存储空间,生成缓存文件,用户之后的访问将请求缓存
    • 提升用户访问服务端速度与体验

Nginx缓存

  • 在nginx location 模块中定义
    • 正整数 + 时间单位(s、m、h、d等)表示缓存有效时间,例如:expires 10s,有效期 10秒
    • 负整数 + 时间单位(s、m、h、d等)表示缓存已过期时间,例如:expires -1h,已过期1小时
    • @ + 时间格式,表示到达指定时间缓存过期,例如:@22h30m,每天晚上10点半缓存清空,重新生成
    • epoch 不设置缓存时间,不使用缓存
    • off 关闭缓存,不使用缓存
    • max 将缓存有效期设置为最大,永久有效的意思
location /files {
    alias /home/chenyb;
    # expires 10s;
    # expires @22h30m;
    # expires -1h;
    # expires epoch;
    # expires off;
    expires max;
}

反向代理缓存 

  • 在nginx http 模块中定义
    • proxy_cache_path 设置缓存目录
    • keys_zone 设置共享内存以及占用空间大小
    • max_size 设置缓存大小
    • inactive 超过此时间则被清理
    • use_temp_path 临时目录,使用后会影响nginx性能
# proxy_cache_path 设置缓存目录
#       keys_zone 设置共享内存以及占用空间大小
#       max_size 设置缓存大小
#       inactive 超过此时间则被清理
#       use_temp_path 临时目录,使用后会影响nginx性能
proxy_cache_path /usr/local/nginx/upstream_cache keys_zone=mycache:5m max_size=1g inactive=1h use_temp_path=off;
  •  在nginx location 模块中引用
    • proxy_cache + keys_zone名称,开启缓存
    • proxy_cache_valid   针对状态码设置
location / {
    proxy_pass  http://tomcats;

    # 启用缓存,和keys_zone一致
    proxy_cache mycache;
    # 针对200和304状态码缓存时间为8小时
    proxy_cache_valid   200 304 8h;
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值