1. 程式人生 > >nginx內建快取Proxy_cache之清除

nginx內建快取Proxy_cache之清除

nginx的第三方模組

可以在原有基礎上直接增加模組,只能一個一個訪問,比較麻煩

#wget http://labs.frickle.com/files/ngx_cache_purge-2.0.tar.gz
#tar -xzf ngx_cache_purge-2.0.tar.gz
在原有編譯基礎上加上(–add-module=../ngx_cache_purge-2.0),注意解壓路徑
#cd nginx-1.6.2
#./configure –user=nginx –group=nginx –prefix=/usr –sbin-path=/usr/sbin/nginx –conf-path=/etc/nginx/nginx.conf –error-log-path=/var/log/nginx/error.log –http-log-path=/var/log/nginx/access.log –pid-path=/var/run/nginx/nginx.pid –lock-path=/var/lock/nginx.lock –with-http_ssl_module –with-http_flv_module –with-http_stub_status_module –with-http_gzip_static_module –http-client-body-temp-path=/var/tmp/nginx/client/ –http-proxy-temp-path=/var/tmp/nginx/proxy/ –http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ –http-uwsgi-temp-path=/var/tmp/nginx/uwsgi –http-scgi-temp-path=/var/tmp/nginx/scgi –with-pcre –with-http_image_filter_module –with-file-aio –add-module=../ngx_cache_purge-2.0> /dev/null

修改nginx配置如下:

  server {
        listen       80;
        server_name  www.mytest.com;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;
#清除快取,務必放在前面(要清除http://www.mytest.com/hello/index.html,則訪問http://www.mytest.com/purge/hello/index.html)
         location ~ /purge(/.*) {
            allow
127.0.0.1; allow 192.168.1.0/24; deny all; proxy_cache_purge one_cache $host$1$is_args$args; } location ~ .*\.(html|htm|css|js|ico|jpeg|git|jpg|png|bmp|swf)$ { root /home/test/apache-tomcat-7.0.64/webapps/hello; proxy_pass http://mytest
; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Real-IP $remote_addr; proxy_cache one_cache; proxy_cache_valid 200 304 301 302 1d; proxy_cache_valid any 6h; proxy_cache_key $host$uri$is_args$args; add_header X-Cache '$upstream_cache_status from $host'; } location ~ .*$ { proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://mytest; add_header X-Cache '$upstream_cache_status from $host'; }

shell指令碼清除

可以批量清除,這裡的只是最簡單的指令碼,還有許多不完善之處

#!/bin/bash
mfile="$*"
cache_dir=/etc/nginx/proxy_cache
echo $mfile
if [ "$#" -eq 0 ]
then
    echo "please input scripts, if not, it will exit"
    sleep 2 && exit
fi
echo "what you put $mfile will delete, please wait..."
for i in `echo $mfile | sed 's/ /\n/g'`
do
    grep -ira $i $cache_dir | awk -F ':' '{print $1}' > /tmp/cache_list.txt
    for j in `cat /tmp/cache_list.txt`
    do
        rm -rf $j
        echo "$i $j is delete Success!"
    done
done
rm -rf /tmp/cache_list.txt

操作如:
這裡寫圖片描述
若有1.jpg和11.jpg會同時刪除,所以要精確到刪除某張圖片還是用第三方庫ngx_cache_purge。若想刪除所有.jpg格式的圖片,可以直接./1.sh jpg

相關推薦

nginx快取Proxy_cache清除

nginx的第三方模組 可以在原有基礎上直接增加模組,只能一個一個訪問,比較麻煩 #wget http://labs.frickle.com/files/ngx_cache_purge-2.0.tar.gz #tar -xzf ngx_cach

最新版nginx變數

在配置基於nginx伺服器的網站時,必然會用到 nginx內建變數  ,下面筆者將它整理成列表,把最新版本的變數列出來,以方便做配置時查詢 nginx內建變數 內建變數存放在  ngx_http_core_module 模組中,變數的命名方式和apache 伺服器變數是一

PHP封裝協議php://filter

php://filter 是一種設計用來允許過濾器程式在開啟時成為流的封裝協議。這對於單獨具有完整功能的檔案函式例如 readfile(),file() 和 file_get_contents() 很有用,否則就沒有機會在讀取內容之前將過濾器應用於流之上。 該協

Python 6-1.資料結構list(基礎篇)

-常見內建資料結構- list 列表 set 集合 dict 字典 tuple 元祖-本章大綱- list(列表): 一組由順序的資料的組合 建立列表 有值列表 無值列表(空列表

Nginx 繫結變數

Nginx作為一個成熟、久經考驗的負載均衡軟體,與其提供豐富、完整的內建變數是分不開的,它極大增加了對Nginx網路行為的控制細度。這些變數大部分都是在請求進入時解析的,並把他們快取到請求cycle中,方便下一次獲取使用。首先來看看Nginx對都開放了那些API。 參看下表

PHP函式分析strlen 與 mb_strlen

宣告:本文為斯人原創,全部為作者一一分析得之,有不對的地方望賜教。 部落格地址:PHP技術部落格 在CSDN也會同步更新的哦. 歡迎轉載,轉載請註明出處  在PHP裡 有兩個計算 字串個數的函式 一個是 strlen,一個是mb_strlen; 先來看看幫助手冊的定義 strlen strlen

Nginx模組簡介

經常編譯Nginx的時候看到./configure後面跟著很多--with命令,雖然知道是新增模組,但一直也沒有仔細去研究這些模組究竟是什麼作用。本文會對常用的內建模組做個簡單介紹,方便後續檢索檢視。由於模組之多,不會一一詳細介紹,但是會留有參考連結,如感興趣,可以仔細去研究。 這裡建議大家一定要多看

Python基礎語法-資料結構元組

元組的特點:不可變的列表,但是可雜湊的。 列表是不可雜湊的。元組建立及使用使用()括起來或使用tuple()建立元組。如果一個元組只有一個元素,其初始化時應該如下定義:只有一個元素的元組,在括號裡需要新增逗號,以表明是元組 t =

Redis資料結構字典dict

Redis原始碼剖析系列文章彙總:傳送門 今天我們來講講Redis中的雜湊表。雜湊表在C++中對應的是map資料結構,但在Redis中稱作dict(字典)。Redis只是用了幾個簡單的結構體和幾種常見的雜湊演算法就實現了一個簡單的類似高階語言中的map結構

DRF認證元件自定義認證系統

## 自定義token認證 我們知道,在django專案中不管路由以及對應的檢視類是如何寫的,都會走到 `dispatch` 方法,進行路由分發, 在閱讀 `APIView類中的dispatch` 方法的原始碼中,有個 `self.initial(request, *args, **kwargs)`,可以

DRF許可權元件自定義許可權管理類

# DRF內建許可權元件permissions 許可權控制可以限制使用者對於檢視的訪問和對於具體資料物件的訪問。 - 在執行檢視的dispatch()方法前,會先進行檢視訪問許可權的判斷 - 在通過get_object()獲取具體物件時,會進行模型物件訪問許可權的判斷 在settings.py中設定DR

Nginx 十一 變數

  nginx的配置檔案中可以使用的內建變數以美元符$開始,也有人叫全域性變數。其中,部分預定義的變數的值是可以改變的。 變數 說明 $arg_PARAMETER 這個變數值為:GET請求中變

清除微信瀏覽器快取

在做微信開發的時候(主要是微信內網頁或者比較大型的手機網站)的時候,更改了頁面程式碼,但是微信內建瀏覽器有快取,還是之前的效果,影響除錯,而且還死活清除不掉!!!!!怎麼辦? 我的第一想法是關閉手機的微信程序,偶爾有效,但是大多數時候是無效的。 第二個方法,我還試過退出微

第3階段——核啟動分析si工程和啟動核分析(3)

otl cin 由於 noi 找到 常用工具 isa maintain inf 目標: (1)創建Source Insight 工程,方便後面分析如何啟動內核的 (2)分析uboot傳遞參數,鏈接腳本如何進入stext的 (3) 分析stext函數如何啟動內核

python進階函數和類魔法屬性

關鍵字 系統 說明 call dir 屬性和方法 介紹 one 了解 前言 關於對象的魔法方法我們已經講得太多,但是對於類或函數內建的魔法屬性和功能我們涉及較少,下面系統了解一下類和函數的內建屬性。 查看內建屬性 class Person(object): pass

python路-day3-函式

一、 昨日內容回顧   1、生成器     本質就是迭代器     特點:       1、省記憶體       2、惰性機制       3、只能向前  不能反覆   2、生成器函式     函式中的yield 。yield表示返回和return,分段執行一段程式碼     def fun

python摸爬滾打day14----函式,遞迴函式

1、匿名函式  用一句話實現的簡單函式.   ret = lambda x : x ** 2      即 函式名 = lambda 形參 : 返回值   print(ret(5))  ----> 25 2、sorted()  ---->

python路-day14-函式二、匿名函式、遞迴

一、匿名函式 函式: def 函式名(形參): 函式體(return) 函式名(實參)   形參: 1、位置引數 2、預設引數 3、動態傳參 *args:動態接收位置引數 **kwargs:動態接收關鍵字引數   位置 >  *args  

Spring Boot2.0 原理—建立Tomcat容器

前面所述的https://www.cnblogs.com/toov5/p/9823728.html 中的第一條先不贅述了,就是玩了maven 重點介紹後兩條 首先內建Tomcat:   SpringBoot中內建tomcat伺服器   Java操作建立tomcat &n

9.12 URL控制器path方法--轉換器,自定義轉換器

兩個用法一致: django 1.0 :  url django2.0 : re_path     基於以下2個需求,django2.0 又加了path方法: 一、使用內建轉換器 內建轉換器有:   二、自定義轉換器: 1.