在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
安装graphi magic wget http://sourceforge.net/projects/graphicsmagick/files/graphicsmagick/1.3.16/GraphicsMagick-1.3.16.tar.gz/download ./configure --prefix=/usr/local/GraphicsMagick-1.3.16 make;make install
安装nginx需要的模块如下 liujit http://luajit.org ngx_devel_kit https://github.com/simpl/ngx_devel_kit echo-nginx-module https://github.com/agentzh/echo-nginx-module lua-nginx-module https://github.com/chaoslawful/lua-nginx-module #下载luajit
http://luajit.org/download/LuaJIT-2.0.0-beta10.tar.gz
cd LuaJIT-2.0.0-beta10
make && make install PREFIX=/usr/local/lj2
ln -sf luajit-2.0.0-beta10 /usr/local/lj2/bin/luajit
#下载 ngx_devel_kit 模块
https://github.com/simpl/ngx_devel_kit/zipball/master
unzip simpl-ngx_devel_kit-v0.2.17-10-g4192ba6.zip
#下载 lua-nginx-module 模块
https://github.com/chaoslawful/lua-nginx-module/tarball/master
unzip chaoslawful-lua-nginx-module-v0.6.0-3-g936653c.zip
#下载echo
https://github.com/agentzh/echo-nginx-module/zipball/master
unzip echo-nginx-module.zip
#下载cache
http://labs.frickle.com/files/ngx_cache_purge-1.6.tar.gz
tar zvxf ngx_cache_purge-1.6.tar.gz
#下载nginx
wget http://nginx.org/download/nginx-1.2.1.tar.gz tar zvxf nginx-1.2.1.tar.gz
设置环境变量
export LUAJIT_LIB=/usr/local/lj2/lib export LUAJIT_INC=/usr/local/lj2/include/luajit-2.0 export LD_LIBRARY_PATH=/usr/local/lib/:$LD_LIBRARY_PATH export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH GM_HOME=/usr/local/GraphicsMagick-1.3.16; PATH=$GM_HOME/bin:$PATH; export PATH export GM_HOME 使环境变量生效:source /etc/profile 编译参数: --prefix=/usr/local/nginx --user=tomcat --with-http_stub_status_module --add-module=/usr/src/simpl-ngx_devel_kit-4192ba6 --with-ld-opt=-Wl,-rpath,/usr/local/lj2/lib --add-module=/usr/src/ngx_cache_purge-1.6 --with-http_perl_module --add-module=/usr/src/chaoslawful-lua-nginx-module-936653c --add-module=/usr/src/agentzh-echo-nginx-module-b3ad5c1 注意:图片存储目录的用户需要跟nginx运行用户是同一用户,否则会出现缩略图文件不可写情况 lua模块测试 nginx.conf配置 location /lua1 { default_type 'text/plain'; content_by_lua 'ngx.say("hello, lua")'; }
location /image { set $image_root /mnt/mfs/web/sq/webroot; set $file "$image_root$uri"; if (!-f $request_filename) { rewrite_by_lua ' local index = string.find(ngx.var.uri, "([0-9]+)x([0-9]+)"); local originalUri = string.sub(ngx.var.uri, 0, index-2); local area = string.sub(ngx.var.uri, index); index = string.find(area, "([.])"); area = string.sub(area, 0, index-1); local image_sizes = {"140x140", "800x800", "90x90"};
function table.contains(table, element) for _, value in pairs(table) do if value == element then return true end end return false end
if table.contains(image_sizes, area) then local command = "/usr/local/GraphicsMagick-1.3.16/bin/gm convert " .. ngx.var.image_root .. originalUri .. " -thumbnail " .. area .. " -gravity center -extent " .. area .. " " .. ngx.var.file; os.execute(command); else ngx.exit(401); end; '; } alias /mnt/mfs/web/sq/webroot/image/; expires 7d;
} 访问图片在原图片url后加.140x140.jpg
|
请发表评论