louyaoluan 发表于 2018-11-9 11:15:01

使用nginx+Lua+GraphicsMagick实现图片自动裁剪

http {  
    include       mime.types;
  
    default_typeapplication/octet-stream;
  
    log_formatmain'$remote_addr - $remote_user [$time_local] "$request" '
  
                      '$status $body_bytes_sent "$http_referer" '
  
                      '"$http_user_agent" "$http_x_forwarded_for"';
  
    access_loglogs/access.logmain;
  
    sendfile      on;
  
    tcp_nopush   on;
  
    keepalive_timeout65;
  
    gzipon;
  

  
    server {
  
      listen       80;
  
      server_name192.168.1.19;
  
      root /static/image;
  

  
      location /lua1 {
  
      default_type 'text/plain';
  
      content_by_lua 'ngx.say("hello, lua")';
  
      }
  
   set $upload_path /static/image;
  
    set $img_original_root$upload_path;# original root;
  
    set $img_thumbnail_root $upload_path/cache/thumb;
  
    set $img_file $img_thumbnail_root$uri;
  

  
    # like:/xx/xx/xx.jpg_100-.jpg or /xx/xx/xx.jpg_-100.jpg
  
    location ~* ^(.+\.(jpg|jpeg|gif|png))_((\d+\-)|(\-\d+))\.(jpg|jpeg|gif|png)$ {
  
            root $img_thumbnail_root;    # root path for croped img
  
            set $img_size $3;
  

  
            if (!-f $img_file) {    # if file not exists
  
                  add_header X-Powered-By 'Nginx+Lua+GraphicsMagick By Yanue';#header for test
  
                  add_header file-path $request_filename;    #header for test
  
                  set $request_filepath $img_original_root$1;    # origin_img full path:/document_root/1.gif
  
                  set $img_size $3;    # img width or height size depends on uri
  
                  set $img_ext $2;    # file ext
  
                  content_by_lua_file lua/autoSize.lua;    # load lua
  
            }
  
    }
  

  
    # like: /xx/xx/xx.jpg_100x100.jpg
  
    location ~* ^(.+\.(jpg|jpeg|gif|png))_(\d+)+x(\d+)+\.(jpg|jpeg|gif|png)$ {
  
            root $img_thumbnail_root;    # root path for croped img
  

  
            if (!-f $img_file) {    # if file not exists
  
                  add_header X-Powered-By 'Nginx+Lua+GraphicsMagick By Yanue';#header for test
  
                  add_header file-path $request_filename;    #header for test
  
                  set $request_filepath $img_original_root$1;    # origin_img file path
  
                  set $img_width $3;    # img width
  
                  set $img_height $4;    # height
  
                  set $img_ext $5;    # file ext
  
                  content_by_lua_file lua/cropSize.lua;    # load lua
  
            }
  
    }
  

  
}
  

  
}


页: [1]
查看完整版本: 使用nginx+Lua+GraphicsMagick实现图片自动裁剪