nginx resize功能2—resize文件本地存储

在/usr/local/nginx-1.6.2/conf目录下的nginx.conf文件中进行设置,设置如下内容:

文件头增加:

user  root;

为文件服务器的server节点,增加如下内容:

location ~* ^/img/resize/w_(\d+)/h_(\d+)/(.*)$ {  

      root /usr/local/nginx-1.6.2/html/img/cache;

      set $width 150;

      set $height 100;

      set $dimens "";

      if ($uri ~* "^/img/resize/w_(\d+)/h_(\d+)/(.*)" ) {

            set $width $1;

            set $height $2;

            set $image_path $3;

            set $demins "_$1x$2";

      }

      set $image_uri /img/resize/$image_path?width=$width&height=$height;

      if (!-f $request_filename) {

            proxy_pass http://127.0.0.1/$image_uri;

            break;

      }

      proxy_store /usr/local/nginx-1.6.2/html/img/cache/resize$demins/$image_path;

      proxy_store_access all:rw;

      proxy_set_header Host $host;

      expires   1d;

      access_log off; 

}     

location /img/resize/{  

      alias /usr/local/nginx-1.6.2/html/img/;

      image_filter resize $arg_width $arg_height;

      image_filter_buffer 50M;

      access_log off;

 }

访问:

原图

http://hostname/img/image4.jpg

压缩图:

http://hostname/img/resize/w_120/h_129/image4.jpg

图片存储:

/usr/local/nginx-1.6.2/html/img/cache/resize_120x129/image4.jpg

相关推荐