nginx添加鏡像緩存 proxy_store(未完待續)


簡介:nginx proxy_store緩存的結果,就是按照服務器的目錄設置,直接緩存文件到同樣的目錄,像鏡像一樣。

遇到的問題:當服務器需要緩存的文件過大,恰巧此時沒有緩存,但是有很多用戶同時訪問此文件的話,會出現生成很多,臨時緩存文件(如000000132)的情況,針對同一個文件的臨時緩存各個用戶之間是不會共享的,因此會生成很多的臨時文件,總的臨時文件加載一起有10nG,也不是沒有可能,影響nginx正常緩存。如果遇到此種情況,那么就執行下面的命令手動清除吧。

[root@HOST]#rm -rf  [緩存文件的路徑]/*

如果緩存文件過多也可以執行上面的命令。如果要定時清理,那么就把這條命令寫入腳本(如clear-cache.sh)然后

[root@HOST]#crontab -e 

***/3**/root/clear-cache.sh

一、獲取安裝包

獲取安裝包:         wget http://nginx.org/download/nginx-1.7.9.tar.gz

二、安裝nginx

[root@HOST]# tar -xvzf nginx-1.7.9.tar.gz
[root@HOST]# cd nginx-1.7.9 [root@HOST]# ./configure --prefix=/usr/local/nginx [root@HOST]# make
[root@HOST]# make install

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

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

用加粗字體替換掉原來的部分

events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;

    server {
        listen       8065;
        server_name  localhost;

        location / {
 expires 3d; proxy_set_header Accept-Encoding ''; root /home/mpeg/nginx; proxy_store on; proxy_store_access user:rw group:rw all:rw; proxy_temp_path /home/mpeg/nginx; if ( !-e $request_filename) { proxy_pass http://192.168.0.1;
 }
        }
    }
}

四、說明

/*********************************************
此段為注釋:
----------------------------------------------
        location / {                                       //這里的location是要換成自己經過精確匹配的location,比如要緩存圖片要寫成 "location ~*\.(gif|jpg|jepg|png|bmp)${"
            expires 3d;                                    //所有鏈接,瀏覽器緩存過期時間為3天
            proxy_set_header Accept-Encoding '';
            root /home/mpeg/nginx;                         //此目錄為服務器的根目錄,下面的if語句就是判斷此目錄下是否有響應的文件
            proxy_store on;                                //表示開啟緩存
            proxy_store_access user:rw group:rw all:rw;    //表示用戶讀寫權限,如果在error中報路徑不允許訪問的話就用"chomod -R a+rw"將下面配置的路徑改為相應的權限.
            proxy_temp_path /home/mpeg/nginx;              //此處為文件的緩存路徑,這個路徑是和url中的文件路徑一致的,url中?后面的部分不作為路徑或文件名參考
            if ( !-e $request_filename)  {
                 proxy_pass http://192.168.0.1;            //此處為要被代理的服務器的地址
            }
        }
**********************************************

  

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM