nginx ngx_cache_purge模块介绍

更新时间:2023-07-16 19:59:31 阅读: 评论:0

grelide
运维
nginx ngx_cache_purge模块介绍
scarf的意思Nginx从 0.7.48版本开始,支持了类似Squid的缓存功能。这个缓存是把URL及相关组合当作Key,用md5编码哈希后保存在硬盘上,所以它可以支持任意 URL链接,同时也支持404/301/302这样的非200状态码。虽然目前官方的Nginx Web缓存服务只能为指定URL或状态码设置过期时间,不支持类似Squid的PURGE指令,手动清除指定缓存页面。
ngx_cache_purge 是由 开发的一个Nginx第三方模块。通过该模块使得Nginx可以像squid使用PURGE指令手动清除指定URL的缓存页面。
ngx_cache_pure 当前的版本为:ngx_cache_purge-1.1
ngx_cache_pure 的下载地址是:/nginx_ngx_cache_purge/歌舞青春片尾曲

ngx_cache_pure 的安装
1、下载ngx_cache_pure,我们将得到一个文件 ngx_cache_purge-1.
2、解压包 tar zxf ngx_cache_purge-1. 得到目录 ngx_cache_purge-1.1
3、执行nginx编译,添加一条编译指令 –add-module=../ngx_cache_purge-1.1 即可将ngx_cache_purge模块编入nginx,完成的编译参数如:
./configure --ur=www --group=www --prefix=/usr/local/nginx --with-http_ssl_module --with-http_sub_module --with-http_stub_status_module --add-module=../ngx_cache_purge-1.1
4、执行编译安装 make && make install
如果没有意外错误,至此您已经完成了 ngx_cache_pure 模块的安装。

ngx_cache_pure 的配置举例
http {
  #注:proxy_temp_path和proxy_cache_path指定的路径必须在同一分区
  proxy_temp_path  /data0/proxy_temp_dir;
  #设置Web缓存区名称为cache_one,内存缓存空间大小为200MB,1天没有被访问的内容自动清除,硬盘缓存空间大小为30GB。
  proxy_cache_path  /data0/proxy_cache_dir  levels=1:2  keys_zone=cache_one:200m inactive=1d max_size=30g;
  upstream backend_rver {
    rver  192.168.8.43:80 weight=1 max_fails=2 fail_timeout=30s;
    rver  192.168.8.44:80 weight=1 max_fails=2 fail_timeout=30s;the cardigans
    rver  192.168.8.45:80 weight=1 max_fails=2 fail_timeout=30s;
  }
  rver
  {
    listen      80;
    rver_name  192.168.8.42;
永远不说再见英文    index index.html index.htm;
    root  /data0/htdocs/www;
    location /
    {
        #如果后端的服务器返回502、504、执行超时等错误,自动将请求转发到upstream负载均衡池中的另一台服务器,实现故障转移。
        proxy_next_upstream http_502 http_504 error timeout invalid_header;
        proxy_cache cache_one;
        #对不同的HTTP状态码设置不同的缓存时间
gmac是什么        proxy_cache_valid  200 304 12h;
        #以域名、URI、参数组合成Web缓存的Key值,Nginx根据Key值哈希,存储缓存内容到二级缓存目录内
        proxy_cache_key $host$uri$is_args$args;
        proxy_t_header Host  $host;
        proxy_t_header X-Forwarded-For  $remote_addr;
        proxy_pass backend_rver;
        expires      1d;
    }
    #用于清除缓存,假设一个URL为192.168.8.,通过访问192.168.8.42/就可以清除该URL的缓存。
    location ~ /purge(/.*)
    {
    #设置只允许指定的IP或IP段才可以清除URL缓存。
    allow            127.0.0.1;
    allow            192.168.0.0/16;
    deny            all;
    proxy_cache_purge    cache_one  $host$1$is_args$args;
    } 
    #扩展名以.php、.jsp、.cgi结尾的动态应用程序不缓存。
asmile    location ~ .*\.(php|jsp|cgi)?$
feel的过去式    {
        proxy_t_header Host  $host;
        proxy_t_header X-Forwarded-For  $remote_addr;
        proxy_pass backend_rver;
    }
    access_log  off;
畸胎
  }
}网考
ngx_cache_pure 的使用
按如上配置完成以后,要确认一个文件是否被cache或要清除一个指定URL的缓存,只需要访问:
192.168.8.42/purge/application/my/view/images/ur.png
purge 是要调用PURGE指令
/application/my/view/images/ur.png 是你要确认或清除缓存的URL路径
 

本文发布于:2023-07-16 19:59:31,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/90/179456.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

下一篇:PURGE UNIT
标签:缓存   清除   指定   模块
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图