nginx结合Lua根据请求地址(URL)参数自动裁剪图片尺寸

03-02 21:57:07   来源:admin   评论: 点击:

如何使用nginx根据请求地址(URL)参数自动裁剪图片尺寸
nginx结合Lua根据请求地址(URL)参数自动裁剪图片尺寸

http://www.shikezhi.com

nginx.conf内容:
 server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   /home/www;
            index  index.html index.htm;
        }
       
        location ~ ^(?<imgfolder>(.+?))/(?<size>(\d+)+x(\d+))_(?<imgfilename>.*\.(?<ext>(jpg|jpeg|gif|png)))$ {
           root /home/www;
           if (!-f $request_filename) {
                        add_header X-Powered-By 'Lua GraphicsMagick';
                        add_header file-path $request_filename;
                        lua_code_cache off;
                       set $original_filepath /home/www/$imgfolder/$imgfilename;
                       set $imgfolderpath   /home/www/$imgfolder/;
                      set $imgsize $size;
                      set $imgname $imgfilename;
                     content_by_lua_file ImageResize.lua; #
或者
/usr/local/nginx/ImageResize.lua
           }
        } 

     ...
}

ImageResize.lua文件内容:
local command = "/usr/local/GraphicsMagick/bin/gm convert " .. ngx.var.original_filepath .. " -resize " .. ngx.var.imgsize .. " +profile \"*\" " .. ngx.var.imgfolderpath .. ngx.var.imgsize .. "_"  .. ngx.var.imgname;
os.execute(command);
ngx.exec(ngx.var.request_uri);

备注:这里测试环境用的是centos

原创内容:转载请注明http://www.shikezhi.com

相关热词搜索:nginx lua

上一篇:使用命令重启nginx 下一篇:Ubuntu Linux系统下轻松架设nginx+php服务器应用
分享到: 收藏