LVPHP

zimg imageserver

介绍

zimg是@招牌疯子开源的一个图片存储程序,主要的优点是可以根据请求实时处理图片,并且进行压缩和存储,一是方便前端用户,二来降低流量。

安装

安装依赖
1
$ sudo yum install openssl-devel cmake libevent-devel libjpeg-devel giflib-devel libpng-devel libwebp-devel ImageMagick-devel libmemcached-devel

安装zimg

1
2
3
4
5
$ git clone https://github.com/buaazp/zimg -b master --depth=1
$ cd zimg
$ make
$ cd bin
$ ./zimg conf/zimg.lua

zimg配置文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
--zimg server config
--server config
--是否后台运行
is_daemon = 1
--绑定IP
ip = '0.0.0.0'
--端口
port = 4869
--运行线程数,默认值为服务器CPU数
--thread_num = 4
backlog_num = 1024
max_keepalives = 1
retry = 3
system = io.popen('uname -sn'):read('*l')
pwd = io.popen('pwd'):read('*l')
--header config
--返回时所带的HTTP header
headers = 'Cache-Control:max-age=7776000'
--是否启用etag缓存
etag = 1

默认使用4869端口,打开地址http://{ip}:4869/就可以上传图片了

图片自定义处理

http://demo.buaa.us/5f189d8ec57f5a5a0d3dcba47fa797e2?w=500&h=500&g=0&x=0&y=0&r=45&q=75&f=jpeg
说明

  • w:图片宽度
  • h:图片高度
  • g:g=1为转黑白色
  • x:裁剪的开始位置X坐标
  • y:裁剪的开始位置Y坐标
  • r:旋转角度
  • q:图片质量
  • f:输出格式