今天给一个应用更新一下图片服务。
以前是用几行代码实现单纯的上传文件功能,功能实在是太简陋了。
今天抽时间给用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  

QQ截图20200514115932

如果没意外编译成功的话,就可以运行了

cd bin  
./zimg conf/zimg.lua

QQ2222

然后打开网址

QQ3333


上传个图片

QQ4


预览图片(原图宽是1080,这里加了个宽200的参数,图片等比缩放了)

QQ5

裁剪图片(裁剪成200*200的大小)

QQ6

题外话:

一帆风顺的安装貌似挺看运气的,在两台服务器上安装,一台顺顺利利就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”

    QQ7

4.zimg返回json格式需要提交方式为raw_post