knight_ka | 生活及学习笔记

Nginx6-Nginx缓存静态资源及清除缓存模块

Nginx利用模块开发WEB缓存功能

Nginx从0.7.48版本开始,支持了缓存功能。这个缓存是把URL及相关组合当做key,用md5算法对key进行哈希,得到硬盘上对应的哈希目录路径,从而将缓存内容保存在该目录上。

该缓存是把后端的资源保存在nginx服务器上,当再次访问这个url时,就不用去后端请求了,直接从nginx上转发到客户端。nginx会把这些资源保存在本地磁盘上。

WEB缓存模块使用流程

1.在nginx主机上创建两个用来缓存的文件夹,这两个文件夹在同一个磁盘分区,不能跨分区。

2.在nginx配置文件中配置指定的url进行缓存。如gif/jpeg/css/js等文件资源

nginx配置

1
2
3
proxy_temp_path /data0/proxy_temp_path;
#设置Web缓存区名称为cache_one,内存缓存空间大小为500mb,自动清除超过1天没有被访问的缓存数据,硬盘缓存空间大小为30GB.
proxy_cache_path /data0/proxy_cache_path levels=1:2 keys_zone=cache_one:500m inactive=1d max_size=30g;

nginx配置

1.安装第三方ngx_cache_pruge模块(用于请求指定URL的缓存)

2.编译并安装ngx_cache_purge到Nginx中
nginx配置

3.指定路径进行清除缓存
nginx配置