当前位置: 代码网 > 服务器>服务器>缓存 > Nginx高级技术: 代理缓存配置

Nginx高级技术: 代理缓存配置

2024年07月31日 缓存 我要评论
Nginx高级技术: 代理缓存配置

一、缓存说明

        nginx缓存,nginx 提供了一个强大的反向代理和 http 服务器功能,同时也是一个高效的缓存服务器。一般情况下系统用到的缓存有以下三种:

1、服务端缓存:缓存存在后端服务器,如 redis。

2、代理缓存:缓存存储在代理服务器或中间件,内容从后端服务器获取,保存在本地。如nginx

3、客户端缓存:缓存在浏览器 ,不需要从服务器获取最新的,浏览器就会直接使用本地缓存。

二、环境配置

  配置 nginx 缓存的基本步骤:

  1. 安装 nginx 和必要的缓存模块(通常默认安装)。

  2. 编辑 nginx 配置文件(通常位于 /etc/nginx/nginx.conf )。

  3. 在 httpserver 或 location 块中配置缓存参数

三、场景说明

场景一:控制上游服务器节点缓存

        nginx通过proxy_cache来实现缓存,而proxy_cache只有在proxy buffer机制开启的情况下proxy cache的配置才会发挥作用。

                  proxy_cache_path   /usr/local/cache    #缓存地址
                  levels=1:2    #目录分级
                  keys_zone=test_cache:10m     #开启的keys空间名字:空间大小(1m可以存放8000个key)
                  max_size=10g     #目录最大大小(超过时,不常用的将被删除)
                  inactive=60m     #60分钟内没有被访问的缓存将清理
                  use_temp_path=off;   #是否开启存放临时文件目录,关闭默认存储在缓存地址                                        
            server {
        #使用缓存
        location / {
                        proxy_cache test_cache;    #开启缓存对应的名称,在keys_zone命名好
                        proxy_cache_valid 200 304 12h;    #状态码为200 304的缓存12小时
                        proxy_cache_valid any 10m;    #其他状态缓存10分钟
                        proxy_cache_key $host$uri$is_args$args;    #设置key值
                        add_header nginx-cache "$upstream_cache_status";
                       }

场景二:控制浏览器缓存expires配置,expires 命令控制一下浏览器的缓存,主要是针对一些静态资源。

  location ~ .*.(jpg|jpeg|gif|png)$ {
         # 设置图片缓存过期时间,允许浏览器缓存该资源10s
           expires 10s;
    # @表示在指定时间点后缓存过期
          expires @22h30m;
    # 在之前1h就已经过期了,既不进行缓存
          expires -1h;
    # 有缓存,但不使用缓存
          expires epoch;
    # 关闭缓存,默认为关闭
           expires off;
    # 最大时间,永不过期
            expires max;
 } 

         # 匹配静态目录
location ~^ /(|css|js) / {
             expires 2h;
        }
       

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com