1、安装lua环境

    tar zxvf LuaJIT-2.0.2.tar.gz
    cd LuaJIT-2.0.2
    make && make install

    2、配置lua环境变量

    export LUAJIT_LIB=/usr/local/lib
    export LUAJIT_INC=/usr/local/include/luajit-2.0
    3.安装gramagics 比较坑点。

    1. 官网下载最新安装包
    2. 解压后 ./configure 看看系统支不支持png, 不支持的话安装软件。

    yum install -y gcc libpng libjpeg libpng-devel libjpeg-devel ghostscript libtiff libtiff-devel freetype freetype-devel

    1. 安装gramgics

    tar zxvf GraphicsMagick-1.3.21.tar.gz
    cd GraphicsMagick
    ./configure –prefix=/data/local/GraphicsMagick –enable-shared
    make && make install

    参考博客:https://blog.csdn.net/blackonline/article/details/61195842

    1. 下载 两个包:

    ngx_devel_kit-0.2.18.tar.gz
    v0.8.6.tar.gz(lua-nginx-module-0.8.6
    5.安装nginx:
    ./configure —add-module=/root/fastdfs/fastdfs-nginx-module-1.20/src —add-module=/root/lua-nginx-module-0.8.6 —add-module=/root/ngxdevel_kit-0.2.18
    make && make install
    6、启动Nginx
    若出错,如/usr/local/nginx/sbin/nginx: error while loading shared libraries: libluajit-5.1.so.2: cannot open shared object file: No such file or directory
    请按如下操作:
    find / -name libluajit-5.1.so.2
    ln -s /usr/local/lib/libluajit-5.1.so.2 /usr/lib64/libluajit-5.1.so.2
    7、lua脚本ImageResizer.lua
    local command = “/data/local/GraphicsMagick/bin/gm convert “ .. ngx.var.request_filepath .. “ -resize “ .. ngx.var.width .. “x” .. ngx.var.height .. “ +profile \”*\” “ .. ngx.var.request_filepath .. “
    “ .. ngx.var.width .. “x” .. ngx.var.height .. “.” ..
    ngx.var.ext;os.execute(command);
    ngx.exec(ngx.var.requesturi);
    8 nginx配置:
    location ~/group[0-9]/ {
    root /home/fastdfs/data/;
    if ($uri ~* ^/group1/M00(.+.(jpg|jpeg|gif|png))
    (\d+)x(\d+).(jpg|jpeg|gif|png)) {
    add_header X-Powered-By ‘Lua GraphicsMagick’;
    add_header file-path $request_filename;
    lua_code_cache on;
    set $request_filepath /home/fastdfs/data$1;
    set $width $3;
    set $height $4;
    set $ext $5;
    }

    if (!-f $request_filename) {
    content_by_lua_file conf/lua/ImageResizer.lua;
    }
    }
    }

    1. 启动测试。


    image.png
    查看日志:image.png
    gm不支持png格式。但是单独转换可以。这里不知道怎么弄了。。
    image.png上图显示单独png可以。