搭建带lua模块的nginx调用ImageMagick工具实现实时剪切缩放图片功能

一、安装LuaJIT。

wget http://luajit.org/download/LuaJIT-2.0.5.tar.gz

tar xf LuaJIT-2.0.5.tar.gz  cd LuaJIT-2.0.5

使

安装设置环境变量,设置后不要切换控台,否则会失效。

出口LUAJIT_LIB=/usr/地方/lib

出口LUAJIT_INC=/usr/地方/include/LuaJIT - 2.0

做软链接,并加载模块

ln - s/usr/local/lib/libluajit-5.1.so。2/usr/lib/libluajit-5.1.so.2 

ldconfig


二、安装ImageMagick工具。

用yum装就行了,挺方便的。

yum安装- y ImageMagick


三,下载nginx以及ngx_devel_kit和nginx_lua_module模块,解压到指定路径。如果本机已装有nginx请忽略下载安装nginx。

wget http://nginx.org/download/nginx-1.12.0.tar.gz

wget https://github.com/simpl/ngx_devel_kit/archive/v0.3.0.tar.gz

wget  https://github.com/openresty/lua-nginx-module/archive/v0.10.9rc5.tar.gz

tar xf nginx-1.12.0.tar。广州,,tar xf v0.3.0.tar。广州,,tar xf v0.10.9rc5.tar。广州


四、编译安装nginx,如果本机已装有nginx请忽略安装,但需要重新编译,然后将老nginx执行文件备份,并把新的弄过去。

。/configure——prefix=/usr/地方/nginx \

——添加模块=(你的解压路径)/ngx_devel_kit-0.3.0 \

——添加模块=(你的解压路径)/lua-nginx-module-0.10.9rc5

(本机如果已经装了nginx的,要把你nginx曾经编译的参数也加上)

使

没有装nginx的,直接make install装了的,参考https://cache.yisu.com/upload/information/20200309/32/42291.com $’{

,,,,,,根,/opt/qikanjpg;

,,,,}


位置~”/pdgpath/([0-9a-z_] +) \ @ ([0 - 9] +) x ([0 - 9] +) \。(gif | jpg | png | jpeg)美元的{

根/opt/qikanjpg;

设置美元p_w_picpath_root '/opt/qikanjpg/pdgpath ';

设置文件名1美元;

设置宽度2美元;

设置高度3美元;

设置原点p_w_picpath_root美元/fileName.jpg美元;

设置file_1 p_w_picpath_root美元/${文件名}@ ${}宽度x ${高度}. jpg,


如果!- f file_1美元){

rewrite_by_lua '

本地comd=白皇纠薄璶gx.var.width…" x " . . ngx.var.height . .”“…ngx.var.origin…”“……ngx.var.file_1;

,,os.execute (comd);

,

}

}


位置~ '/pdgpath/([0-9a-z_] +) \ @ ([0 - 9] +) x ([0 - 9] +) _f \。(gif | jpg | png | jpeg) $’{

根/opt/qikanjpg;

,,设置$ p_w_picpath_root '/opt/qikanjpg/pdgpath的;

设置文件名1美元;

设置宽度2美元;

设置高度3美元;

设置原点p_w_picpath_root美元/fileName.jpg美元;

设置文件p_w_picpath_root美元/${文件名}@ ${}宽度x ${高度}_f.jpg;


如果!- f $文件){

rewrite_by_lua '

本地命令=白淮柿?0%调整”…ngx.var.width…" x " . . ngx.var.height . .“^重力中心作物”…ngx.var.width…" x " . . ngx.var.height . .“+ 0 + 0”…ngx.var.origin…”“……ngx.var.file;

,,,,,,os.execute(命令);

';

}

}


七、访问图片,进行测试。

以上面的配置文件,在/opt/qikanjpg pdgpath/放一个1. jpg。

原图http://(your_server_ip): 1. (your_server_port)/pdgpath/jpg

按宽和高较小值等比缩放原图(your_server_ip): http://(your_server_port)/pdgpath/1 @宽x高jpg

按宽和高较大值等比缩放原图再从中间切一次宽和高那么大一个区域http://(your_server_ip): (your_server_port)/pdgpath/1 @宽x高_f.jpg


更多的切割功能,请转换——帮助查看自行琢磨,然后添加到本地命令=里面就行了。

搭建带lua模块的nginx调用ImageMagick工具实现实时剪切缩放图片功能