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 比较坑点。
- 官网下载最新安装包
- 解压后 ./configure 看看系统支不支持png, 不支持的话安装软件。
yum install -y gcc libpng libjpeg libpng-devel libjpeg-devel ghostscript libtiff libtiff-devel freetype freetype-devel
- 安装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
- 下载 两个包:
ngx_devel_kit-0.2.18.tar.gzv0.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.18make && 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.2ln -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;
}
}
}
- 启动测试。

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