nginx自动生成缩略图

网站上常常一张图片,多个地方需要使用不同的尺寸,一般的方案是上传的时候,根据不同的尺寸用程序生成多张图片。 
这么做有两个缺点: 
1.如果需要新的尺寸图片的话,只能遍历下数据库,重新生成一次图片。 
2.图片的尺寸会越来越多,要存的图片也越来越多,仅仅是因为他们的尺寸不同。 
nginx有个模块,可以处理此内容,http_image_filter_module,可以重新根据定义的大小来压缩后台代理服务器的原始图片,经测试,效果不错。 
此模块默认是不安装的,插件名称http_image_filter_module ,安装nginx的时候,使用--with-http_image_filter_module来进行安装 
安装方法,http://mushme.iteye.com/blog/1870080

Java代码  

  1. server{
  2. listen 8282;
  3. server_name  simg.frady.info;#小尺寸图片的域名
  4. root /web/www/ROOT/;
  5. location /picture/ {#此目录下的图片会被统一裁切
  6. image_filter test;
  7. proxy_pass http://img.frady.info;#原始图片的域名
  8. image_filter resize 60 60;
  9. #  image_filter rotate 90;#旋转90度,这东西实际的使用场景有吗,在页面上旋转图片是用这个做?
  10. error_page   415 = /nopic.jpg;
  11. }
  12. }

Java代码  

  1. 下面的配置可以反馈图片的信息
  2. location /picture/ {
  3. proxy_pass http://img.frady.info;
  4. image_filter size;
  5. }

结果如 
{ "img" : { "width": 208, "height": 181, "type": "jpeg" } }

时间: 2024-08-01 18:36:51

nginx自动生成缩略图的相关文章

[原创]超强C#图片上传,加水印,自动生成缩略图源代码

<%@ Page Language=“C#“ AutoEventWireup=“true“ %> <%@ Import Namespace=“System“ %> <%@ Import Namespace=“System.IO“ %> <%@ Import Namespace=“System.Net“ %> <%@ Import NameSpace=“System.Web“ %> <%@ Import NameSpace=“Legalsof

帝国cms实现自动生成缩略图和自动分页功能

无论你手工发布,还是采集而来,免不了要进行手工操作弄缩略图,不然标题图片没有,挺烦人的 只需一次设定,就可以在文章编辑框里自动勾选上分页和生成缩略图,免除你次次进行操作的麻烦,好了,废话不多说,上菜“ 先到 系统>管理数据表 >   后,在你需要进行设定的类型里更改,比如我要 新闻 这项的实现自动生成标题缩略图和自动分页(当然,你也可以单独实现分页和生成缩略图)          找到 新闻系统数据表  ( phome_ ecms_ news ) >[管理字段]>新闻正文   后面

asp.net中使kindeditor自动生成缩略图

kindedtor编辑器,确实很好用,但是也有很多的不足,比如,我们经常用的图片上传功能,首页如果有图片新闻或者需要显示宿略图的时候,你会发现它并没有提供图片上传自动生成缩略图的功能 ,于是,花了一点时间,对它的上传图片的功能进行了改写,废话少说,直接上代码 图片上传功能调用的是:upload_json.ashx  代码如下 复制代码 using System; using System.Collections; using System.Web; using System.IO; using

(转)php 根据url自动生成缩略图并处理高并发问题

分享是一种精神,与技术高低无关! 图片缩略图动态生成- [代码编程] 2011-08-23 版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明http://www.blogbus.com/addcn-logs/157496890.html 整理下网站缩略图水印图动态生成的方法: 会员上传图片后,调用图片的各地方需要的尺寸不全一样,需要生成大小不同的等比例缩略图.实现方法是nginx判断,请求的缩略图规则url中,如果图片不存在则调用php程序以原始图片生成对应的缩略图,然后显示出来

nginx实时生成缩略图到硬盘上

原文:http://www.ttlsa.com/nginx/nginx-create-image-on-disk/ 现在随着各终端的出现(手机,ipad等平板),以及各种终端的手机分辨率和尺寸都不同,现在手机用户流量都是宝,网上出现了各种各样的生成缩略图功能的架构,有使用php实时生成缩略图的,也有用nginx + lua实现的,上节我也讲到了使用nginx生成缩略图,但是用户每次访问都需要生成一次,会给cpu和硬盘带来比较大的压力,今天带来了另外一种方式,这次使用nginx将原图生成缩略图到硬

nginx实时生成缩略图存储到硬盘上

现在随着各终端的出现(手机,ipad等平板),以及各种终端的手机分辨率和尺寸都不同,现在手机用户流量都是宝,网上出现了各种各样的生成缩略图功能的架构,有使用php实时生成缩略图的,也有用nginx + lua实现的,上节我也讲到了使用nginx生成缩略图,但是用户每次访问都需要生成一次,会给cpu和硬盘带来比较大的压力,今天带来了另外一种方式,这次使用nginx将原图生成缩略图到硬盘上.看我的配置 1.首先创建好cache目录 [[email protected] ~]# mkdir -p /d

Office文件上传自动生成缩略图

前不久产品经理提出一个X的需求,说上传office文件的时候需要将首页自动截图,用于显示文件列表的时候将文件第一页缩略图展示给用户.实现的方式有多种,这里给大家介绍一个简单实用的方案,用起来非常方便. 1.Aspose.Pdf实现将pdf转换为图片功能,获取pdf文件流 通过aspose读取第一页保存为图片 //filestream为pdf文件流 Aspose.Pdf.Document pdfDocument = new Aspose.Pdf.Document(filestream); //sa

nginx利用image_filter动态生成缩略图

原文:http://www.open-open.com/lib/view/open1416193847945.html "我现在是有些图片需要生成缩略图,这个现在加了image_filter这个已经实现了,但我不知道怎么样才能访问我上传的原图" 刚开始觉得也不太好弄,让他用程序区处理,实际上稍微动脑筋分析一下也可以不修改程序实现动态生成缩略图且能够访问原图. 前提是需要定好图片的访问规则. 先来看一下什么是nginx的image filter模块. HttpImageFilterMod

linnux下setgid与setfacl的结合,解决apache自动生成文件权限问题

setgid与setfacl的结合,能够解决apache/nginx自动生成的文件导致ftp用户删除时权限不足的问题. 需求这样的: 1:ThinkPHP框架运行时生成Runtime(755)文件,文件权限所有者为apache:apache用户.组. 2:而ftp用户已属apache组用户,因为Runtime文件夹的所有组(不可写),所以此文件夹下面的文件无法被ftp用户删除,而开发的时候又需要实时的删除缓存文件来使更改生效. 关于两个命令的讲解建议观看另两篇文章: setgid setfacl