今天给一个应用更新一下图片服务。
以前是用几行代码实现单纯的上传文件功能,功能实在是太简陋了。
今天抽时间给用zimg优化一下。(别问我为什么不用七牛之类的云存储,开发人员不参与决策 -_-!!! )
zimg是国人开发的一个高效轻量的图片服务器。官网地址http://zimg.buaa.us
参照文档,先把依赖给安装了
sudo yum install openssl-devel cmake libevent-devel libjpeg-devel giflib-devel libpng-devel libwebp-devel ImageMagick-devel libmemcached-devel
还有一些必要的拓展也要安装上,例如:imagemagick,libmemcached
wget http://www.imagemagick.org/download/ImageMagick.tar.gz
tar zxvf ImageMagick.tar.gz
cd ImageMagick-6.9.1-10
./configure --prefix=/usr/local
make && make install
wget https://launchpad.net/libmemcached/1.0/1.0.18/+download/libmemcached-1.0.18.tar.gz
tar zxvf libmemcached-1.0.18.tar.gz
cd libmemcached-1.0.18
./configure -prefix=/usr/local
make && make install
安装zimg
git clone https://github.com/buaazp/zimg -b master --depth=1
cd zimg
make
如果没意外编译成功的话,就可以运行了
cd bin
./zimg conf/zimg.lua
然后打开网址
上传个图片
预览图片(原图宽是1080,这里加了个宽200的参数,图片等比缩放了)
裁剪图片(裁剪成200*200的大小)
题外话:
一帆风顺的安装貌似挺看运气的,在两台服务器上安装,一台顺顺利利就ok了,另一台各种问题!
这里记录一下问题:
1. 缺少编译环境。错误提示 -bash: make: command not found
yum -y install gcc gcc-c++ automake autoconf libtool make
2. 缺少nasm。错误提示:centos configure: error: no nasm (Netwide Assembler) found 。
yum install build-essential nasm
3.官方文档libevent地址错误。
这里推荐去github下载。地址:https://github.com/libevent/libevent
clone或者下载zip都行。
安装的时候需要看libevent文档,clone方式需要先执行“./autogen.sh”
4.zimg返回json格式需要提交方式为raw_post