Nginx系列——内容缓存
Posted 标配的小号
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nginx系列——内容缓存相关的知识,希望对你有一定的参考价值。
Caching Zones
定义缓存空间
proxy_cache_path /var/nginx/cache #缓存空间路径
keys_zone=CACHE:60m
levels=1:2
inactive=3h #缓存时长,3小时内没有被再次请求就会被释放
max_size=20g;
proxy_cache CACHE;
Caching Hash Keys
使用proxy_cache_key模块
proxy_cache_key "$host$request_uri $cookie_user";
Cache Bypass
避开缓存。适用于进行troubleshooting和debug的时候
proxy_cache_bypass $http_cache_bypass;
另外还可以通过设置 proxy_cache off; 进行关闭缓存
Cache Performance
在用户端控制缓存
location ~* .(css|js)$ {
expires 1y; #1年后过期
add_header Cache-Control "public"; #配置http响应头缓存控制
}
Cache Slicing
缓存切片。适用于不会变动的大文件
proxy_cache_path /tmp/mycache keys_zone=mycache:10m;
server {
...
proxy_cache mycache;
slice 1m; #以1m为单位进行切片
proxy_cache_key $host$uri$is_args$args$slice_range; #切片命名方式?
proxy_set_header Range $slice_range;
proxy_http_version 1.1;
proxy_cache_valid 200 206 1h;
location / {
proxy_pass http://origin:80;
}
}
以上是关于Nginx系列——内容缓存的主要内容,如果未能解决你的问题,请参考以下文章
Nginx+lua+openresty系列 | 第二篇:nginx虚拟主机
Nginx+lua+openresty系列 | 第一篇:openresty介绍