posts - 36, comments - 30, trackbacks - 0, articles - 3

          配置Nginx 緩存服務器

          Posted on 2016-03-08 20:29 笑看人生 閱讀(2920) 評論(1)  編輯  收藏
          @import url(http://www.aygfsteel.com/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css); @import url(http://www.aygfsteel.com/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);

          參照以下網址,在CentOS上安裝Nginx
          http://www.aygfsteel.com/jacky9881/archive/2016/02/19/429375.html

          1.首先新建以下兩個目錄,用于存放緩存文件;
             [root@localhost nginx]# mkdir -p /data/nginx/proxy_temp_path
             [root@localhost nginx]# mkdir -p /data/nginx/proxy_cache_path

          2.編輯nginx.conf文件
            在http模塊增加如下內容,指定緩存文件的存放路徑:
            proxy_temp_path /data/nginx/proxy_temp_path;
            proxy_cache_path /data/nginx/proxy_cache_path levels=1:2 keys_zone=cache_one:20m inactive=1d max_size=3g ;  

          注:通過keys_zone來指定緩存區的名字,在接下來的location模塊配置中需要用到;
                20m是指定用于緩存的內存大小(由于本人虛擬機內存原因,設置了20M,生產環境中可以設置大一些,比如1G);
                inactive=1d,代表緩存的數據如果超過一天沒有被訪問的話,則自動清除;
                max_size=3g是指定用于緩存的硬盤大小(由于本人虛擬機內存原因,設置了3g,生產環境中可以設置大一些,比如50G);
                levels=1:2 指定該緩存目錄中有兩層hash目錄,第一層目錄為1個字母,第二層為2個字母,其中第一層目錄名為緩存數據MD5編碼的倒數第一個
               字母,第二層目錄名為緩存數據MD5編碼的倒數2,3兩個字母;

           upstream local_tomcats {
                 server 192.168.8.132:8080;
                 server 192.168.8.130:8080;
          }

           修改location模塊
            location ~ \.(jsp|do)$ {
                      proxy_pass http://local_tomcats;
           }        
                  
            location / {

                      proxy_cache cache_one;
                      #定義http返回值為200和304,緩存時間12小時,如果12小時后,沒有被訪問,則自動被刪除;
                      #200表示 服務器已成功處理了請求,304表示 自從上次請求后,請求的網頁未修改過
                      proxy_cache_valid 200 304 12h ;
                      proxy_cache_valid 301 302 1m ;
                      proxy_cache_valid any 10m ;
                      proxy_cache_key $host$uri$is_args$args;

                      proxy_ignore_headers X-Accel-Expires Expires  Set-Cookie Cache-Control;
                      proxy_hide_header Cache-Control;
                      proxy_hide_header Set-Cookie;               
                      proxy_pass http://local_tomcats; #這個要設定,否則好像生成不了緩存文件

              }
          #用于清除緩存
           location ~ /purge(/.*) {
                      allow 127.0.0.1;
                      allow 192.168.8.132;
                      deny all ;
                      proxy_cache_purge cache_one $host$1$is_args$args ;
             }  

          在瀏覽器地址欄輸入:http://www.hw.com/tomcat.png
          查看緩存目錄
          [root@localhost nginx]# ls /data/nginx/proxy_cache_path/7/8a
          b12ee1366ed4307aa6408a16286658a7

          可以看到,緩存文件已經生成,注意緩存文件名最后三位和緩存文件夾的關系。

          在瀏覽器地址欄輸入:http://www.hw.com/purge/tomcat.png
          頁面顯示如下信息,提示緩存文件已經被清除。

          Successful purge

          Key : www.hw.com/tomcat.png
          Path: /data/nginx/proxy_cache_path/7/8a/b12ee1366ed4307aa6408a16286658a7 

          注意這里的Key,就是配置文件中定義 proxy_cache_key 

          查看緩存命中率
          location / 模塊,增加如下代碼
          add_header  Nginx-Cache "$upstream_cache_status"

          同時在http模塊打開ngnix的日志功能,默認是關閉狀態。

              log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                                '$status $body_bytes_sent "$http_referer" '
                                '"$http_user_agent" "$http_x_forwarded_for"'
                                 '"$upstream_cache_status"';
              access_log  logs/access.log  main;
           

          [root@localhost nginx]# ./sbin/nginx -s reload

          在瀏覽器地址欄輸入:http://www.hw.com/tomcat.png
          重復刷新幾次,打開日志文件 logs/access.log,可以看到HIT的字樣,意味著緩存命中。

          192.168.8.132 - - [08/Mar/2016:20:48:38 +0800] "GET /tomcat.png HTTP/1.1" 304 0 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Firefox/38.0" "-""HIT"
          192.168.8.132 - - [08/Mar/2016:20:48:40 +0800] "GET /tomcat.png HTTP/1.1" 304 0 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Firefox/38.0" "-""HIT"
          192.168.8.132 - - [08/Mar/2016:20:48:42 +0800] "GET /tomcat.png HTTP/1.1" 304 0 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Firefox/38.0" "-""HIT"


          Feedback

          # re: 配置Nginx 緩存服務器  回復  更多評論   

          2016-03-13 20:46 by 淘寶刷流量軟件
          謝謝分享!!

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 分宜县| 柞水县| 沙坪坝区| 海盐县| 双峰县| 榆社县| 安达市| 卫辉市| 郸城县| 贵溪市| 恩施市| 涡阳县| 曲周县| 玉门市| 商河县| 桂平市| 曲沃县| 河北区| 叙永县| 大同县| 通山县| 杭锦旗| 高要市| 绩溪县| 鱼台县| 米泉市| 常州市| 竹山县| 皮山县| 兴城市| 长汀县| 桐柏县| 阳江市| 屏山县| 大竹县| 邵武市| 井冈山市| 井陉县| 桓仁| 固安县| 昂仁县|