zimg是由国人开发的一个高性能,简单的图片服务器,在看了原作者的安装教程之后,尝试没有成功,搜索到另外一篇改造过的文章 ,根据教程中的步骤,依然还是安装不成功,大概看了一下Makefile和源码文件,修改了几处地方才安装成功,现记录下来:
#yum -y install libjpeg libjpeg-devel libpng libpng-devel
#yum install libmemcached-devel.x86_64#yum -y install libssl-dev libevent-dev libmagickwand-dev1.安装Openssl (这个很关键,必须先安装) #wget http://www.openssl.org/source/openssl-1.0.1e.tar.gz #tar zxvf openssl-1.0.1e.tar.gz #./config shared --prefix=/usr --openssldir=/usr/ssl #make && make install 2. 安装 libevent (http://libevent.org/) #wget http://cloud.github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz #tar zxvf libevent-2.0.17-stable.tar.gz #./configure --prefix=/usr #make && make install 3.安装Cmake #wget "http://www.cmake.org/files/v2.8/cmake-2.8.10.2.tar.gz"tar xzvf cmake-2.8.10.2.tar.gz #cd cmake-2.8.10.2 #./bootstrap --prefix=/usr #make && make install 4.安装Libevhtp #wget --no-check-certificate https://github.com/ellzey/libevhtp/archive/1.2.6.tar.gz -O libevhtp-1.2.6.tar.gz #tar xzvf libevhtp-1.2.6.tar.gz #cd libevhtp-1.2.6/ #cmake -DCMAKE_PREFIX_PATH=/usr -DCMAKE_INSTALL_PREFIX=/usr -DLIBEVENT_OPENSSL_LIBRARY=/usr/lib/openssl #make && make install 5.安装ImageMagick #安装图片库 #yum -y install libjpeg libjpeg-devel libpng libpng-devel #wget http://www.p_w_picpathmagick.org/download/ImageMagick-6.8.7-2.tar.gz #tar xzvf ImageMagick-6.8.7-2.tar.gz #cd ImageMagick-6.8.7-2 #./configure --with-perl #make && make install 6.安装 libmemcached #wget http://download.tangent.org/libmemcached-0.42.tar.gz #tar zxvf libmemcached-0.42.tar.gz #cd libmemcached-0.42 #./configure --with-libevent=/usr/lib64/ #make && make install #git clone https://github.com/lytsing/zimg我的ImageMagick是通过源码安装的,如果通过yum安装,应该就不用修改Makefile中的文件如下,我还没有试过,所以不得而知:OS = $(shell uname)MAC = Darwinifeq ($(OS),Darwin) LIBS = -I/home/kid/software/ImageMagick-6.8.9-6/ -levent -levent_openssl -levent_pthreads -lssl -lcrypto -levhtp -lMagickWand-6.Q16 -lmemcachedelse LIBS = -I/home/kid/software/ImageMagick-6.8.9-6/ -levent -levent_openssl -levent_pthreads -lssl -lcrypto -levhtp -lMagickWand -lmemcachedendifOBJS = zhttpd.o zspinlock.o zlog.o zmd5.o zutil.o zcache.o zimg.o main.oCFLAGS = -Wallall: ${OBJS} gcc ${CFLAGS} -o zimg ${OBJS} ${LIBS}clean: rm -f zimg ${OBJS} 删除CMakeList.txt中的${ImageMagick_MagickWand_INCLUDE_DIR}这一行修改zimg.c中的#include <wand/MagickWand.h>为#include "wand/MagickWand.h"#cmake .#make#./zimg &#支持启动参数 -p [port] 监听端口号,默认4869 -t [thread_num] 线程数,默认4,请调整为具体服务器的CPU核心数 -k [max_keepalive_num] 最高保持连接数,默认1,不启用长连接,0为启用 -l 启用log,会带来很大的性能损失,自行斟酌是否开启 -M [memcached_ip] 启用缓存的连接IP -m [memcached_port] 启用缓存的连接端口 -b [backlog_num] 每个线程的最大连接数,默认1024,酌情设置 调用demo: upload.html <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <html> <form enctype="multipart/form-data" action="http://192.168.111.189:9000/upload" method=post> 选择文件: <input name="userfile" type="file"> <input type="submit" value="上传"> </form> </html> 访问http://192.168.150.136:4869/fafa5efeaf3cbe3b23b2748d13e629a1?w=300&h=300&g=1附件中是修改好了的文件,可以下载修改Makefile中的相关路径进行直接安装