how to install magick package for openresty at centos65

项目中需要构建一个图片裁切服务, 使用 thumbor + openresty 进行构建, 之前使用 ubuntu 构建的时候一切都挺顺利的,这次使用的是 centos, 遇到一些问题。

最主要的问题是 openresty 嵌入的 lua 脚本需要用到 magick 库,而这个库官方没有说明如何在 centos 下进行安装, 后台一番折腾终于搞定,具体的过程如下:

安装 imageMagick 库环境(重点)

官方在说明中提到, imageMagick 库依赖 luaJit 和 imageMagick 库 或者 GraphicsMagick 库,因为要使用 wand 接口,所以需要安装 devel 包。

yum install ImageMagick ImageMagick-devel  # imagemagick c 库
yum install GraphicsMagick-devel           # GraphicsMagick c 库

yum install luarocks
luarocks install magick
ln -sf luajit-2.1.0-beta2 /usr/local/bin/luajit

建立类库连接

关键的问题在这里, 通过 luarocks 安装好 magick 类库后, openresty 目录下的 luaJit 无法找到这个包, leafo 专门写了一篇文章将这个事情: http://leafo.net/guides/customizing-the-luarocks-tree.html, 参考这篇文章,我为openresy 做了两个软连接。

首先,找一下这两个库:

find / -name "magick.so"  # magick c 库
find / -name "magick.lua" # magick lua module

其次,建立软连接:(我是根据 nginx 的报错信息, 知道 openresty 的默认类库加载路径的)

cd /opt/verynginx/openresty/luajit/share/lua/5.1
ln -s /usr/share/lua/5.1/magick  
cd /opt/verynginx/openresty/lualib
ln -s /usr/lib64/ImageMagick-6.7.2/modules-Q16/coders/magick.so 

openresty 目前使用 opm 安装组件, 很可惜 magick 这个库并不在其中。

参考

添加新评论