Nginx缓存服务
1.nginx缓存原理及配置
nginx的http_proxy模块,可以 实现类似于 squid的 缓存功能。
代理缓存
配置语法
配置语法:proxy_cache语法
Syntax: proxy_cache zone |off
Default: proxy_cache off
Cotext: http,server,location
配置语法:缓存过期周期
Syntax: proxy_cache_valid [code...] time Default:- Context: http,server,location
配置语法:缓存的维度
Syntax: proxy_cache_key string
Default: proxy_cache_key $scheme$proxy_host$request_uri
Cotext: http,server,location
父元素 | 名称 | 描述 |
---|---|---|
http | proxy_cache_path | 指定缓存区的根路径 |
levels | 缓存目录级最高三层,每层1-2个字符表示。如1:1:2三层。 | |
keys_zone | 缓存块名称及内存块大小。如cache_item:500m表示声明一个名为cache_item大小为500m。超出大小 后最早的数据将被清除。 | |
max_size | 缓存区硬盘的 最大值。超出闲置数据将被清除 | |
inactive | 最长闲置时间 如10d 如果一个 数据被闲置10天则将被清除 | |
location | proxy_cache | 指定缓存区,对应keys_zone中设定的值 |
proxy_cache_key | 通过参数拼装参数key如:$host$uri$is_args$args 则会以全部领md5值做为key |
|
proxy_cache_valid | 对不同的状态码设置缓存有效期 |
如何清理指定缓存
方式一: rm -rf 缓存目录内容
方式二: 第三方扩展模块ngx_cache_purge
1.2 缓存的清除
该功能 可以采用第三方模块ngx_cache_purge实现:
为nginx添加ngx_cache_purge模块
#下载ngx_cache_purge 模块包 ,这⾥nginx 版本为1.6.2 purge 对应2.0版 wget http://labs.frickle.com/files/ngx_cache_purge-2.0.tar.gz #查看已安装模块 ./sbin/nginx -V #进⼊nginx安装包⽬录 重新安装 --add-module为模块解压的全路径 ./configure --prefix=/root/svr/nginx --with-http_stub_status_module --with-http_ssl_module -- add-module=/root/svr/nginx/models/ngx_cache_purge-2.0 #重新编译 make #拷⻉ 安装⽬录/objs/nginx ⽂件⽤于替换原nginx ⽂件 #检测查看安装是否成功 nginx -t
ngixn的缓存原理及配置参考:
https://blog.csdn.net/fd2025/article/details/80506552