在一个互联网应用中,图片扮演着越来越重要的角色。有稳定的可扩展的图片存储服务器就显得尤为的重要,云厂商们提供了便利的图片存储服务,花钱就可以解决了。这里简单介绍一个开源的一个分布式图片存储服务器——zimg,来自己搭建一个图片服务器。

当然你也可以利用分布式文件存储系统在存储图片,比如FastDFS,不过针对图片的特有功能,比如缩放、截取、倾斜等,都需要自己特殊处理,而这正是图片服务器zimg所擅长的东西。

官网地址:http://zimg.buaa.us

服务器的安装、配置、使用手册等,官网都有详细的介绍,可以直接查看官网,很详尽,有问题也可以在github上提出issue,共同维护解决。

安装成功后,打开测试页面

上传图片后成功后页面

图片存储时,会生成图片对应的MD5值来作为寻址的唯一标识,图片重复存储时,在zimg中只会存储一份,从而有效减少相同图片的存储。但理论上有一个弊端,一个图片删除后,所有引用的地方都会清除掉。

下面罗列zimg可以提供的常见功能:

  1. 所有图片默认返回质量为75%,JPEG格式的压缩图片,这样肉眼无法识辨,但是体积减小

  2. 获取宽度为x,被等比例缩放的图片

  3. 获取旋转后的图片

  4. 获取指定区域固定大小的图片

  5. 获取特定尺寸的图片,由于与原图比例不同,尽可能展示最多的图片内容,缩放之后多余的部分需要裁掉

  6. 获取特定尺寸的图片,要展示图片所有内容,因此图片会被拉伸到新的比例而变形

  7. 获取特定尺寸的图片,但是不需要缩放,只用展示图片核心内容即可

  8. 获取按指定百分比缩放的图片

  9. 获取指定压缩比的图片

  10. 获取去除颜色的图片

  11. 获取指定格式的图片

  12. 获取图片信息

  13. 删除指定图片

而以上这些功能的提供,仅需要一个url+特定的参数,通过get方式就可以完成,这才是简便之处。

zimg提供三种存储方式:本地磁盘,beansdb,ssdb三种。单机存储,依据其目录结构设计,可以存储1024 * 1024 * 1024 * 200KB = 200TB(单图200KB大小)数据量,切换成beansdb或ssdb,后续可扩展成更大容量的存储完全不是问题。

扩展阅读:

  • 认识区块链,认知区块链— —通证、公链

  • 选择IT,就意味着终身学习

  • 学习新技术时你应当掌握的『最少必要知识』

  • 你是『眼高手低』的程序员吗

  • 怎么定位自己在团队里的角色

  • 你的经历不一定都能变成经验

  • 那些会阻碍程序员成长的细节[7]

  • 做了七年软件开发后反而更迷茫

  • 认识区块链,认知区块链

  • 认识区块链,认知区块链— —数据上链

  • 基于SpringCloud的Microservices架构实战案例

长按2秒,识别二维码,关注我。

转载于:https://www.cnblogs.com/growithus/p/11012163.html

Zimg—轻量级图片服务器搭建利器相关推荐

  1. Nginx独立图片服务器搭建教程

    Nginx独立图片服务器搭建教程 发布时间:2014-06-04编辑:脚本学堂 本文介绍了nginx独立图片服务器的搭建与配置教程,有需要的朋友参考下. 首先,为什么需要独立图片服务器? 现在主流的网 ...

  2. T级图片数据Cache思路以及图片服务器搭建方法

    通过 pp.sohu.com,淘宝,拍拍网的域名分析: 1871.img.pp.sohu.com.cn ,1872.img.pp.sohu.com.cn,1873.img.pp.sohu.com.cn ...

  3. 通过http协议访问FTP服务器的搭建,ftp+nginx 图片服务器搭建之后使用http访问进行配置文件的修改

    一 ,搭建nginx 先安装nginx服务器,见我之前写的: nginx服务器搭建 二 ,搭建ftp 在安装vsftpd服务器, ftp服务器搭建 三.开始搭建Nginx图片服务器 1.效果 例如:图 ...

  4. 淘淘商城第三天—完成商品添加功能 商品类目选择 图片上传 图片服务器搭建 kindEditor富文本编辑器的使用 商品添加功能

    1.实现商品类目选择功能 1.1需求 在商品添加页面,点击"选择类目"显示商品类目列表: 请求初始化树形控件的url:/item/cat/list 1.2 EasyUI tree数 ...

  5. ZIMG -- 高性能图片服务器浅谈

    (偶然的在网上看到这篇文章, 觉得ZIMG很优秀, 只是目前版本是1.0还不支持分布式, 也期望后续版本如作者所说会支持集群. 项目代码可以去github: https://github.com/bu ...

  6. 【zimg入门之一】zimg高性能图片服务器浅谈

    综述 2011年李彦宏在百度联盟峰会上就提到过互联网的读图时代已经到来[1],图片服务早已成为一个互联网应用中占比很大的部分,对图片的处理能力也相应地变成企业和开发者的一项基本技能.需要处理海量图片的 ...

  7. php 图片服务器搭建,php图像裁剪服务器搭建

    在我们的工作的项目中,有时候我们需要显示规定尺寸的图片,虽然可以通过css来控制显示大小.但是如果图片过大,会造成加载的延迟,影响网站整体性能.因此,我们需要一个服务器来帮助我们进行图片的裁剪.流程大 ...

  8. linux nginx 图片服务器,搭建Nginx图片服务器(Linux)

    wget http://nginx.org/download/nginx-1.19.1.tar.gz yum install gcc-c++ yum install -y pcre pcre-deve ...

  9. nginx+vsftp搭建图片服务器

    在分布式架构中,往往会有多个tomcat,然后你上传的图片只是在其中的某一个tomcat,你访问时是由集群的tomcat随机提供服务.当你访问的tomcat是有图片的那个时,图片能正常显示,如果恰巧是 ...

最新文章

  1. git 提交到某分支_Git如何拉取某个分支的某段提交
  2. Sql server Always On 读写分离配置方法
  3. ObjectARX_图形数据库
  4. linux c 定时器
  5. 二进制文件安装mysql_CentOS7下二进制文件安装MySQL5.6
  6. android数据回传多个页面_Android Day06四大组件之Activity多页面跳转和数据传递
  7. 陈敏敏-130242014024-实验一
  8. 最简易上手的numpy学习笔记二
  9. uniapp 模糊搜索文字添加颜色
  10. 图像处理(八)图像插值算法
  11. java 表格tr td_table、tr、td表格的行、单元格等属性说明
  12. Post请求,参数跟在url后面的问题
  13. 知到网课大学生心理健康教育考试试题|真题题库(含答案)
  14. selenium+python自动抢购源码
  15. 【技术科普】区块链世界也存在多元宇宙
  16. java基础入门第二版思维导图,Java 学习--你应该有份思维导图了(基础篇)
  17. Ubuntu下安装QQ——最新教程!
  18. 每次USB共享网络后,网络编号自动+1后清零方法
  19. RectTransform详解
  20. 使用高效像素聚类实时去除高品质镜面高光

热门文章

  1. ICCV 2013 出来啦
  2. 自学次世代3d建模大概需要多久时间?
  3. 如何使用Python访问和查询Google BigQuery数据
  4. 【Web漏洞】SQL注入
  5. MindManager2020密钥思维导图学习方法使用教程
  6. window.location.herf获取到路径,然后处理携带的参数,将?name=“张三“age=“18“改为{name:张三,age:18}
  7. AUTOCAD 常用命令
  8. 什么是Selenium?
  9. 【Selenium】获取属性
  10. Springboot中@Value的使用详解