imgpoxy简单入门

imgproxy简介

imgproxy是一个快速、安全的独立服务器,用于调整远程图像的大小和转换。imgproxy 背后的指导原则是安全性、速度和简单性。

imgproxy 能够快速、轻松地动态调整图像大小,并且它有能力处理大量图像调整大小。imgproxy 是 Web 应用程序中所有图像调整大小代码(例如调整大小库或调用 ImageMagick 或 GraphicsMagic 的代码)的快速、安全的替代品。它也是处理远程图像不可或缺的工具。使用 imgproxy,您无需在每次更改时重复准备图像以适应您的设计。

官网给出的速度对比:

 

 imgproxy安装部署 

1. docker安装部署(官方推荐安装方式)

1.1. 拉取官方镜像

docker pull darthsim/imgproxy:latest

1.2. 启动docker镜像

docker run -d --name imgproxy --restart always -p 8081:8080 darthsim/imgproxy

上面命令运行结束,imgproxy已经启动起来。可以使用命令查看启动情况:

docker ps

你会看到如下显示:

或者可以浏览器打开 http://ip:8081,可以看到下面的页面: 

 可以使用下面请求去使用imgproxy代理服务去处理图片:

http://172.16.88.174:8081/xxxxxx/resize:fill:400:400:0/rot:90/plain/https://octodex.github.com/images/codercat.jpg

其中 xxxxxx 代表签名字符串,默认启动的docker容器没有开启签名功能,因此这个签名参数可以任意填写,我这里填写的xxxxx。

resize代表指示imgproxy要调整图片的大小,fill代表调整大小的模式是填充模式,一共有fit、fill、fill-down、force、auto五种模式可以选。400:400这个代表分辨率调整到400*400,后面的0代表是否启用enlarge模式,这个模式如果被启用,如果给定的大小大于图片的原始大小的话,imgproxy会放大图片。

rot代表图片旋转,90表示旋转度数。

plain表示后面的图片地址是明文模式。plain后面就是原始图片的地址。最后@png代表要将原始的jpeg图片转换为png格式。 

更多处理参数可以查看原始文档 https://docs.imgproxy.net/generating_the_url

2. ubuntu安装

2.1. 首先安装

sudo add-apt-repository ppa:dhor/myway
sudo apt-get update
sudo apt-get install libvips-dev

 但如果您想使用 imgproxy 的所有功能,建议从源代码构建 libvips:https: //github.com/libvips/libvips/wiki/Build-for-Ubuntu

2.2. 安装最新版本的 Go 

sudo add-apt-repository ppa:longsleep/golang-backports
sudo apt-get update
sudo apt-get install golang-go

 2.3. 下载原文件

您可以通过克隆 GitHub 存储库来获取 imgproxy 源代码:

git clone https://github.com/imgproxy/imgproxy.git
cd imgproxy

或者通过下载源 tarball:

mkdir imgproxy
cd imgproxy
curl -Ls https://github.com/imgproxy/imgproxy/archive/master.tar.gz \
  | tar -xz --strip-components 1 -C .

 也可以指定特定版本:

mkdir imgproxy
cd imgproxy
curl -Ls https://github.com/imgproxy/imgproxy/archive/v2.13.1.tar.gz \
  | tar -xz --strip-components 1 -C .

 2.4. 安装 imgproxy

CGO_LDFLAGS_ALLOW="-s|-w" \
  go build -o /usr/local/bin/imgproxy

2.5. 启动imgproxy(默认端口8080)

cd /usr/local/bin
imgproxy

检验方法同上

imgproxy配置

可以通过环境变量来配置imgproxy,改变其工作模式。介绍几个常用的配置项。其余更多的配置项可以参考官方文档https://docs.imgproxy.net/configuration

IMGPROXY_READ_TIMEOUT #读取原始图片的时间,如果imgproxy和原始图片的服务器之间的网络不是太好的话,可以适当调整这个参数

IMGPROXY_MAX_SRC_RESOLUTION #原始图片最大分辨率,默认是16.8,单位是百万像素,例如,如果一个图片的分辨率是5000*5000,其像素个数是25000000,即25百万像素,这个图片就会被拒绝处理。如果我们的原始图片有很多大图的话,就需要调整这个值了

IMGPROXY_MAX_SRC_FILE_SIZE #和上面的参数类似,指定原始图片的最大大小,默认不限制

IMGPROXY_ALLOWED_SOURCES #设置允许的原始图片地址,用逗号隔开,这样可以防止别人滥用服务。

综合上述参数,启动imgproxy的命令调整为:

docker run -d --name imgproxy --restart always --env "IMGPROXY_MAX_SRC_RESOLUTION=25" --env "IMGPROXY_ALLOWED_SOURCES=https://img.xxxx.cc/,https://img.yyyy.cc/" --env="IMGPROXY_READ_TIMEOUT=1000" darthsim/imgproxy

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值