`

nginx缓存模块ngx_cache_purge配置

阅读更多
安装

./configure \
--prefix=/usr/local/nginx-1.0.6 \  # 安装路径
--with-http_stub_status_module \ # 启用nginx状态模块
--with-http_ssl_module \ # 启用SSL模块
--with-http_realip_module \ # 启用realip模块(将用户IP转发给后端服务器)
--add-module=../ngx_cache_purge-2.3 # 添加缓存清除扩展模块
# make
# make install




我们来设定一个cache日志的格式,就可以通过日志中查看到,是否访问缓存的“MISS”和“HIT”两种状态
log_format cache '***$time_local '  '***$upstream_cache_status '  '***Cache-Control: $upstream_http_cache_control ' '***Expires: $upstream_http_expires ' '***"$request" ($status) ' '***"$http_user_agent" ';

其次设定缓存参数
proxy_connect_timeout 5;
proxy_read_timeout 60;
proxy_send_timeout 5;
proxy_buffer_size 16k;
proxy_buffers 4 64k;
proxy_busy_buffers_size 128k;
proxy_temp_file_write_size 128k;
#注:temp_path和cache_path 指定的路径必须在同一分区
proxy_temp_path/cache/temp_dir;

#设置Web缓存区名称为cache_one,内存缓存空间大小为200MB,1天没有被访问的内容自动清除,硬盘缓存空间大小为10GB。
proxy_cache_path /cache/cache levels=1:2 keys_zone=cache_one:200m inactive=1d max_size=10g;
#设定一个upstream
upstream myserver {
server 192.168.1.50;
}

#用于清除缓存,假设一个URL为http://192.168.10.1/world.txt,通过访问http://192.168.10.1/purge/world.txt就可以清除该URL的缓存。

此功能需要手动编译模块ngx_cache_purge,

本例中为2.3。
   location ~ /purge(/.*) {  
         #设置只允许指定的IP或IP段才可以清除URL缓存。
         allow       127.0.0.1;  
         allow       192.168.1.0/104;  
         deny    all;  
         proxy_cache_purge    cache_one   $host$1$is_args$args;  
 }  
#注意,此规则必须放于purge之后,因为放之前就会优先匹配到此规则,会在清除缓存的时候报404错误。
location ~ .*\.(gif|jpg|png|htm|html|css|js|flv|ico|swf)(.*) {
proxy_pass http://appserver;
proxy_redirect off;
#以域名、URI、参数组合成Web缓存的Key值,Nginx根据Key值哈希,存储缓存内容到二级缓存目录内
proxy_cache_key $host$uri$is_args$args;  
proxy_set_header Host  $host;  
proxy_set_header X-Forwarded-For  $remote_addr;
proxy_cache cache_one;
#对不同的HTTP状态码设置不同的缓存时间
proxy_cache_valid 200 302 1h;
proxy_cache_valid 301 1d;
proxy_cache_valid any 1m;
expires 30d;
#可以再cache.log日志中看到 MISS和HIT状态
access_log/usr/local/nginx/logs/cache.log cache;
}
配置完成,重新启动nginx,
./nginx -s stop
./nginx


随便访问一个页面http://192.168.10.1/100.jpg,
在/cache/cache下面也会生成相应的缓存文件查看cache.log,可以看到第一次访问为MISS,第二次为HIT
***19/Mar/2014:10:48:16 +0800 ***MISS ***Cache-Control: - ***Expires: - ***"GET /100.jpg HTTP/1.1" (200) ***    
#命中内存(第二次访问)
***19/Mar/2014:10:48:37 +0800 ***HIT ***Cache-Control: - ***Expires: - ***"GET /100.jpg HTTP/1.1" (304) ***
清除缓存
访问 http://192.168.10.3/purge/9.jpg,
看到如下信息说明缓存已被清除。
Successful purge

Key : 192.168.10.1/100.jpg 
Path: /cache/cache/4/c1/9959863996c9f7891f8b2c94c16
分享到:
评论

相关推荐

    nginx缓存清除插件ngx_cache_purge.zip

    ngx_cache_purge 是 nginx 模块,此模块可以清理 nginx 的 FastCGI、proxy、 SCGI 和 uWSGI 的缓存。配置指令(相同位置语法)fastcgi_cache_purgesyntax: fastcgi_cache_purge on|off|<method> [from all|<ip> [.....

    ngx_cache_purge_2.4.2.tar.gz

    ngx_cache_purge_2.4.2.tar.gz 是一个针对Nginx缓存管理的模块扩展,主要用于清除或刷新Nginx服务器上的HTTP缓存。这个版本2.4.2的压缩包包含了ngx_cache_purge模块的所有源代码及相关文件,以便开发者在自己的Nginx...

    nginx_cache_purge.zip

    总的来说,Nginx Cache Purge是Nginx缓存管理的有力工具,通过它,我们可以更灵活、更高效地控制Web服务的缓存,提供优质的用户体验。在日常运维中,理解并熟练运用Nginx Cache Purge,不仅能够提升网站性能,还能...

    ngx_cache_purge应用插件

    2. `src`: 这个目录下有插件的源代码文件,如`ngx_cache_purge_module.c`,这是核心模块的实现代码。 3. `objs`: 编译过程中生成的对象文件会存放在这里。 4. `config` 和 `Makefile`: Nginx的配置文件和构建脚本,...

    ngx_cache_purge-2.1.tar.gz

    4. 完成编译和安装过程,更新Nginx配置文件,引入ngx_cache_purge模块的相关配置。 5. 在Nginx配置中定义允许进行缓存清理的路径或者URL模式,并设置相应的权限。 6. 重启Nginx服务,使新的配置生效。 在实际使用中...

    ngx_cache_purge-2.0.tar.gz

    总之,ngx_cache_purge-2.0是Nginx缓存管理的重要补充,它简化了动态内容缓存的更新流程,提高了服务的响应速度和数据的准确性。正确配置和使用这个模块,可以帮助优化Web服务性能,为用户提供更流畅的浏览体验。

    nginx-1.0.12_ngx-cache-purge1.5.tar.gz

    Nginx 是一款流行的高性能Web服务器和反向代理服务器,而 ngx_cache_purge 模块则是一个扩展,允许管理员清除或刷新 Nginx 缓存中的特定内容。 Nginx 的核心特性包括它的事件驱动架构,它能够处理大量并发连接,...

    ngx_cache_purge-1.3.tar.gz

    6. **与后端服务的交互**:ngx_cache_purge并不会自动更新后端服务器的内容,它只是负责清除Nginx缓存中的数据。如果你的后端有内容管理系统或其他动态服务,你还需要确保那些服务能正确处理内容更新并通知Nginx。 ...

    ngx_cache_purge-1.4.tar.gz

    ngx_cache_purge是一款针对Nginx缓存管理的模块,主要功能是允许用户清除或刷新Nginx的HTTP缓存。这个开源软件极大地提升了网站内容更新的效率,确保用户能够及时获取到最新的信息。在本篇文章中,我们将深入探讨ngx...

    nginx静态缓存插件ngx_slowfs_cache.zip

    ngx_slowfs_cache 是 nginx 模块,允许缓存静态文件(使用 root 指令管理)。 这使得能够为存储在慢文件系统上的文件创建快速缓存。当缓存放置在与原点相同的速度磁盘上时,使用此模块没有意义。配置示例:http { ...

    nginx 1.0.0配ngx_cache_purge实现高效的反向代理

    在功能上,Nginx已经具备Squid所拥有的Web缓存加速功能、清除指定URL...–by 张宴 下载2011-05-03更新的最新版1.3wget http://labs.frickle.com/files/ngx_cache_purge-1.3.tar.gztar zxf ngx_cache_purge-1.3.tar.g

    nginx安装文件上传ngx_upload模块教程.docx

    - 使用Git克隆ngx_cache_purge模块,这通常用于清除Nginx缓存,但在这个教程中主要用于演示其他模块的获取方式。 2. **安装依赖**: - 安装必要的开发工具包,如`yum groupinstall Development Tools`。 - 安装...

    Nginx安装+nginx_upstream_check_module后端健康检查

    ### Nginx安装与后端健康检查模块配置详解 #### 一、Nginx环境搭建与核心组件安装 **1.1 基础环境准备** - **操作系统**: CentOS 6.5 - **基本服务器配置**: 在安装过程中选择了“基本服务器”配置。 **1.2 安装...

    NGINX技术文档

    在给定的压缩包文件`ngx_cache_purge-2.3`中,包含的是`ngx_cache_purge`插件的源代码,这是一个用于清除或刷新NGINX缓存的第三方模块。通过这个插件,我们可以根据需求动态地删除缓存中的特定条目,确保客户端总是...

    nginx tomcat负载均衡缓存服务器集群.docx

    通过第三方模块 `ngx_cache_purge`,可以清除指定 URL 的缓存,增强缓存管理能力。 **3. 编译安装 Nginx 和 ngx_cache_purge 模块** 为了启用 Nginx 的缓存和负载均衡功能,需要先编译安装 Nginx 和相关模块。以下...

    NGINX 缓存使用指南1

    对于不支持自动清除特定URL缓存的情况,可以借助第三方模块 ngx_cache_purge 实现。这个模块提供了一个方法,允许你通过HTTP请求来清除指定的缓存内容。 ### 总结 Nginx的缓存功能强大且灵活,不仅可以提升网站...

    fastdfs+Nginx+cache集群安装配置

    6. 配置Nginx:编写Nginx配置文件,设置反向代理规则,启用缓存功能,以及配置ngx_cache_purge模块。 7. 启动服务:依次启动Tracker、Storage、Nginx服务器,验证各个组件是否能正常通信和服务。 8. 集群扩展:根据...

    fastdfs + nginx + cache 集群安装配置 安装包

    fastdfs-5.05.tar.gz : FastDFS安装主文件包 libfastcommon-master.zip: FastDFS文件系统依赖包 nginx-1.8.1.tar.gz:nginx安装包 fastdfs-nginx-module_v1.16.tar.gz: nginx下...ngx_cache_purge-2.1.tar.gz:缓存

    Nginx服务器上搭建图片缓存服务的基本配置解析

    在编译安装Nginx时,需要添加ngx_cache_purge模块,然后在配置中使用`proxy_cache_purge`指令来清除指定的缓存。 总结来说,Nginx的proxy_store和proxy_cache模块提供了灵活的图片缓存策略,可以根据实际需求选择...

Global site tag (gtag.js) - Google Analytics