Nginx 缓存配置

场景:网站图片,静态资源,接口等,不经常变动的数据,每次都请求服务器上游服务器。增加缓存,减少上游服务器压力。

1、缓存key 值,吧 url md5加密变成key值进行缓存

2、缓存到达最大空间,会自动使用新缓存覆盖缓存时间即将过时的缓存

nginx配置流程:

1、在 nginx . http 下设置缓存目录

proxy_cache_path D:/project/web2/proxy_cache levels=2:2:2 keys_zone=song:200m inactive=20m max_size=20g;

|-------------------------|------------------------------------|
| proxy_cache_path | 设置缓存文件的存放路径 |
| levels | 指定该缓存空间对应的目录2:2:2 表示 3层目录,由命名的字母组成 |
| keys_zone:name:size | 设置缓存区的名称与大小 |
| inactive | 指定多久不访问则删除缓存 1d = 1天 20m = 20分钟 |
| max_size | 最大缓存空间 |

2、在 nginx . http . server 或 nginx . http . server . location下设置

缓存配置

proxy_cache song;

proxy_cache_key hosturiis_argsargs;

proxy_cache_min_uses 1;

proxy_cache_methods HEAD GET POST;

proxy_cache_valid 200 1d;

加一个头,方便在header中观察是否命中缓存

add_header Nginx-Cache "$upstream_cache_status";

|----------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| proxy_cache | 默认值:proxy_cache off; |
| proxy_cache_key | 缓存的key值,组成方式 http + uri+参数 (md5) |
| proxy_cache_valid | 返回不同的状态码,设置缓存的时间不同;上面为 状态码 = 200 则缓存 1天; 如:proxy_cache_valid 200 302 10m; proxy_cache_valid 404 1m; 为200和302的响应URL设置10分钟缓存,为404的响应URL设置1分钟缓存 proxy_cache_valid any 1m; 对所有响应状态码的URL都设置1分钟缓存 |
| proxy_cache_methods | 用来设置缓存哪些HTTP方法 |
| proxy_cache_min_uses | 资源被访问多少次后进行缓存 |

3、代理

location /{

代理 http://edo.xxx.com

proxy_pass http://edo.xxx.com;

}

配置案例:

复制代码
proxy_cache_path D:/project/web2/proxy_cache levels=2:2:2 keys_zone=song:200m inactive=20m max_size=20g;
server {
    listen 80;
    server_name edo.pic.com;
    # 缓存配置
    proxy_cache song;
    proxy_cache_key  $host$uri$is_args$args;
    proxy_cache_min_uses 1;
    proxy_cache_methods HEAD GET POST;
    proxy_cache_valid 200 1d;
     # 加一个头,方便在header中观察是否命中缓存
    add_header  Nginx-Cache "$upstream_cache_status";  
  
    location / {
      proxy_pass http://edo.xxx.com;
    }
}
相关推荐
R²AIN SUITE4 分钟前
企业智能体平台私有化部署需要什么服务器?CPU、内存、显卡与项目管理集成的7个评估项
运维·服务器
刚入门的大一新生11 分钟前
Linux-线程封装
linux·运维·服务器
n1121224 分钟前
Docker 容器时区错 8 小时:3 个坑
运维·docker·容器·故障排查·服务器运维·容器时区
Android系统攻城狮30 分钟前
Linux FFmpeg深度解析之av_dump_format调用流程与实战(十一)
linux·运维·服务器·ffmpeg·1024程序员节·音视频进阶
Android系统攻城狮1 小时前
Linux FFmpeg深度解析之avcodec_find_decoder调用流程与实战(十二)
linux·运维·服务器·ffmpeg·1024程序员节·音视频进阶
小白的码BUG之路1 小时前
K8s -- 启动一主二从节点
linux·运维·服务器
yyzc111111 小时前
合规稳定资金结算收款系统助力门店发展
大数据·运维·人工智能
慈云数据1 小时前
用 DSH 辅助部署一个网站监控平台:Uptime Kuma + Docker 实战
运维·docker·容器
毒爪的小新1 小时前
最新 Dify 1.14.0+ 内网离线插件打包、部署完整踩坑方案(解决 uv.lock 依赖校验失败)
运维·ai·uv·dify
静以修身zzz1 小时前
OpenStack对象存储-Swift、OpenStack编排管理-heat、OpenStack网络管理-neutron
linux·运维·服务器·架构·openstack·swift