window环境下nginx如何实现缩略图

Nginx图片处理原理

这里需要用到 nginx的 http_image_filter_module 模块,这个模块可以很方便的实现图片缩放功能,只是默认的情况下并不会安装,需要自己编译安装才能行。编译的时候./configure 增加 –with-http_image_filter_module 编译安装即可

Nginx图片处理的优缺点

优点

  1. 操作简单。通过简单配置,省去了后端裁剪程序的复杂性。
  2. 实时裁剪。可以实时访问在线裁剪图片。
  3. 灵活性强。后端程序裁剪图片时需要知道裁剪图片的尺寸和质量,使用nginx裁剪可以实时裁剪任意尺寸的图片。
  4. 不占用硬盘空间。

缺点

  1. 消耗CPU和内存,访问量大的时候就会给服务器带来很大的负担。(可以通过使用Nginx缓存和缓存服务器来解决)

  2. 功能不是很强大,支持的处理图片类型只包括JPEG, GIF, PNG, or WebP

如果是用nginx做缩略图功能,看这篇文章就够了

一、nginx下载以及http_image_filter_module模块配置

说明:配置http_image_filter_module模块需要下载动态链接库文件 libgd.dll。

已经配置好了,需要的可下载 
https://download.csdn.net/download/qq_36749924/87853312

libgd.dll环境变量配置

二、nginx.conf核心配置

        location / {
           proxy_pass http://192.168.0.6:8091;
        }

        //这个是核心配置
        //图片后面加?reduce=true是缩略图、不加则是原图
        //匹配根路径 resources  
        location ~ /resources/ {

           set $width -;
           # 图片默认高度
           set $height -;
           if ( $arg_reduce != "" ) {
                set $width 350;
                set $height 350;
           }

           image_filter test;

           image_filter resize $width $height;
           image_filter_buffer 30M;
           image_filter_jpeg_quality 95;

           proxy_pass http://192.168.0.6:8091;
        }

说明:该配置的意思是,可以通过在图片后面追加参数决定是否弄成缩略图,缩略图的宽高为350 350。注意:这个是比例,不一定是350*350px

三、效果展示

1、缩略图访问

 说明:主要是在图片后面加个参数?reduce=true。如果不加就是原图,这样前端的小伙伴想要原图或者缩略图自己玩就可以了

http://192.168.0.6/resources/3_product/kEVk2fu1dedUnInyXOIu03bYGnQ5xP7W7zTwf3jR.jpeg?reduce=true

2、原图访问

http://192.168.0.6/resources/3_product/kEVk2fu1dedUnInyXOIu03bYGnQ5xP7W7zTwf3jR.jpeg

 为什么写这篇文章?

答:网上关于nginx在windows上实现缩略图的文章太少了,而且不完整

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值