简介:此缓存设置用到了第三方模块purge,使用的时候就在源链接和访问的具体内容之间加入关键字"/purge/"即可。

如:访问http://192.168.0.1/a.png 会生成a.png的缓存文件;

只要通过http://192.168.0.1/purge/a.png就可以将生成的缓存清除掉了。

一、获取安装包

获取安装包:         wget http://nginx.org/download/nginx-1.7.9.tar.gz

获取缓存清理模块: wget http://labs.frickle.com/files/ngx_cache_purge-2.3.tar.gz

二、安装nginx

[root@HOST]# tar -xvzf nginx-1.7..tar.gz
[root@HOST]# tar -zxvf ngx_cache_purge-2.3.tar.gz
[root@HOST]# cd nginx-1.7.
[root@HOST]# ./configure --prefix=/usr/local/nginx \ --add-module=../ngx_cache_purge-2.3
[root@HOST]# make
[root@HOST]# make install

三、配置nginx(主要添加加粗字体部分)

[root@HOST]cd /usr/local/nginx
[root@HOST]vi ./conf/nginx.conf

用加粗字体替换掉原来的部分

worker_processes  1;

events {
worker_connections 1024;
} http {
include mime.types;
default_type application/octet-stream; client_body_buffer_size 512k;
proxy_connect_timeout
10;
proxy_read_timeout 180;
proxy_send_timeout 5;
proxy_buffer_size 16k;
proxy_buffers 4 64k;
proxy_busy_buffers_size 128k;
proxy_temp_file_write_size 128k;
proxy_temp_path /home/mpeg/cache_n/temp;
proxy_cache_path /home/mpeg/cache_n levels=1:2 keys_zone=content:20m inactive=1d max_size=100m;
keepalive_timeout 65
;
server {
        listen       8055;
server_name localhost; location / {
proxy_cache content;
proxy_cache_valid
200 302 304 206 24h;
proxy_cache_valid any 1d;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_cache_key $host$uri$is_args$args;
proxy_pass http://192.168.0.1:80;

} location ~ /pure(/.*) {
allow 192.0.0.0/24;
deny all;
proxy_cache_purge content $host$host$1$is_args$args;
}
        error_page   500 502 503 504  /50x.html;
location = /50x.html {
root html;
}
}
}

四、说明

/*********************************************
此段为注释:
----------------------------------------------
client_body_buffer_size 512k;
proxy_connect_timeout 10;
proxy_read_timeout 180;
proxy_send_timeout 5;
proxy_buffer_size 16k;
proxy_buffers 4 64k;
proxy_busy_buffers_size 128k;
proxy_temp_file_write_size 128k;
proxy_temp_path /home/mpeg/cache_n/temp; //这个是临时缓存文件存放的路径
proxy_cache_path /home/mpeg/cache_n levels=1:2 keys_zone=content:20m inactive=1d max_size=100m; //这个路径是最终真实文件的缓存路径
keepalive_timeout 65;
-------------------------------------------------------
location / {
proxy_cache content;
proxy_cache_valid 200 302 304 206 24h; //你要缓存的http状态码和它们的缓存时间
proxy_cache_valid any 1d;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_cache_key $host$uri$is_args$args; //缓存文件的命名规则
proxy_pass http://192.168.0.1:80; //nginx代理的服务器地址
}
---------------------------------------------------------
location ~ /pure(/.*) { //这个location主要就是把url中带/pure/的链接筛选出来,然后执行我们刚才安装的那个第三方清理缓存的模块。
allow 192.0.0.0/24;
deny all;
proxy_cache_purge content $host$host$1$is_args$args;
}
**********************************************

  

nginx缓存模块配置总结proxy_cache(未完)的更多相关文章

  1. virtualbox搭建ubuntu server nginx+mysql+tomcat web服务器1 (未完待续)

    virtualbox搭建ubuntu server nginx+mysql+tomcat web服务器1 (未完待续) 第一次接触到 linux,不知道linux的确很强大,然后用virtualbox ...

  2. 009.Nginx缓存及配置

    一 浏览器缓存 1.1 缓存概述 缓存对于Web至关重要,尤其对于大型高负载Web站点.Nginx缓存可作为性能优化的一个重要手段,可以极大减轻后端服务器的负载.通常对于静态资源,即较少经常更新的资源 ...

  3. Ubuntu 16.04 LTS nodejs+pm2+nginx+git 基础安装及配置环境(未完,未整理)

    -.Ubuntu 安装nodejs 以下内容均在命令行,完成,首先你要去你电脑的home目录:cd ~. [sudo] apt-get update [sudo] apt-get upgrade ap ...

  4. nginx FastCGI模块配置

    这个模块允许nginx同FastCGI协同工作,并且控制哪些参数将被安全传递. location / { fastcgi_pass localhost:9000;# 或者http://ip:9000; ...

  5. nginx concat模块配置 页面返回400 bad request

    在1.4.x版本的nginx没有发现这个问题,但是在1.5.x版本就遇到了这个问题 由于Nginx在新版本中,使用了标准的 MIME-Type:application/javascript.而在ngi ...

  6. nginx gzip 模块配置

    #gzip模块设置 gzip on; #开启gzip压缩输出 gzip_min_length 1k; #最小压缩文件大小 gzip_buffers 4 16k; #压缩缓冲区 gzip_http_ve ...

  7. Python模块:Random(未完待续)

    本文基于Python 3.6.5的官文random编写. random模块简介 random为各种数学分布算法(distributions)实现了伪随机数生成器. 对于整数,是从一个范围中均匀选择(u ...

  8. 5.6 Nginx Rewrite模块配置

  9. Nginx缓存配置以及nginx ngx_cache_purge模块的使用

    web缓存位于内容源Web服务器和客户端之间,当用户访问一个URL时,Web缓存服务器会去后端Web源服务器取回要输出的内容,然后,当下一个请求到来时,如果访问的是相同的URL,Web缓存服务器直接输 ...

随机推荐

  1. KVC实现原理简介

    KVC,全称:Key-Value-Coding. KVC运用了isa-swizzling技术.isa-swizzling就是类型混合指针机制.KVC主要通过isa-swizzling来实现其内部定位查 ...

  2. Linux线程学习(一)

    一.Linux进程与线程概述 进程与线程 为什么对于大多数合作性任务,多线程比多个独立的进程更优越呢?这是因为,线程共享相同的内存空间.不同的线程可以存取内存中的同一个变量.所以,程序中的所有线程都可 ...

  3. 删除表空间时,遇到了ORA-14404错误

      Oracle中删除表空间时,遇到了ORA-14404错误.   错误信息如下: SQL> DROP TABLESPACE PART1 INCLUDING CONTENTS AND DATAF ...

  4. JQuery EasyUI中datagrid的使用

    在学习过程中,可以参照JQuery EasyUI的官方网站学习.地址:http://www.jeasyui.com/demo/main/index.php 在学习JQuery EasyUI中的Data ...

  5. sql server 导出的datetime结果 CAST(0x00009E0E0095524F AS DateTime) 如何向mysql,oracle等数据库进行转换

    1. 处理 sql server 导出的 datetime 类型的字段 在进行sql server向mysql等其他数据进行迁移数据时,会发现使用sql server导出的datetime类型的结果是 ...

  6. 由IP和掩码计算广播地址

    public static IPAddress GetBroadcast(IPAddress ipAddress, IPAddress subnetMask) { var ip = ipAddress ...

  7. hibernate一对一关系实现

    按照主键映射,按照外键映射 Address.hbm.xml: <?xml version="1.0"?><!DOCTYPE hibernate-mapping P ...

  8. SQL优化法则小记

    SQL优化技巧 1.选择最有效率的表名顺序(只在基于规则的优化器中有效): oracle的解析器按照从右到左的顺序处理 from 子句中的表名,from子句中写在最后的表(基础表 driving ta ...

  9. diff, cmp, patch

    diff 以行为单位比较两个文件之间的差异,经常用来查看同一个文件的新旧版本的差异,通常用在文本文件的比较,可以使用重定向'>'制作补丁文档,通常以.patch结尾 \(diff [-bBi] ...

  10. hdu 2048 神、上帝以及老天爷(错排)

    神.上帝以及老天爷 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total S ...