使用nginx动态转换图片大小生成缩略图


Posted in Servers onMarch 31, 2021

Nginx的ngx_http_image_filter_module 模块(nginx版本为0.7.54+) 可用来动态转换JPEG, GIF, PNG, 和WebP格式的图片大小。

该模块默认没有构建,需要通过 --with-http_image_filter_module 配置参数启用。

如果图片访问量不大,可以使用该模块。

该模块使用了libgd库。 推荐使用该库的最新版本。

以下为在已经安装了nginx的情况下添加该模块的步骤。

1 安装依赖

yum -y install gd-devel
yum -y install libxslt-devel
yum -y install perl-devel perl-ExtUtils-Embed

2 查看原nginx参数

​ nginx -V

输出结果如下:

​ nginx version: nginx/1.12.2
​ configure arguments:

查看是否有--with-http_image_filter_module,如果有则说明已经安装过,否则继续安装。

3 编译

重新编译时需要下载和原来相同版本的nginx源码,解压。

添加--with-http_image_filter_module=dynamic及原来的参数(不需要执行make install命令重新安装)

./configure --with-http_image_filter_module=dynamic
make

4 备份原nginx

cp -r /usr/local/nginx /usr/local/nginxbak

5 覆盖nginx

cp objs/nginx /usr/local/nginx/sbin/
mkdir /usr/local/nginx/module
cp objs/ngx_http_image_filter_module.so /usr/local/nginx/module/ngx_http_image_filter_module.so

6 修改配置文件

vim /usr/local/nginx/conf/nginx.conf

load_module /usr/local/nginx/module/ngx_http_image_filter_module.so;
location ~* /images/(.+)_(\d+)x(\d+)\.(jpg|jpeg|gif|png)$ {
        set $w $2;
        set $h $3;
        image_filter resize $w $h;
        image_filter_buffer 30M; #设置图片缓冲区的最大大小,大小超过设定值,服务器将返回错误415
        image_filter_interlace on;
        image_filter_jpeg_quality 80;
        try_files /$1.$4 /notfound.jpg;
        expires 1d;
        add_header 'Access-Control-Allow-Origin' '*';
        add_header 'Access-Control-Allow-Credentials' 'true';
        alias /home/publisherupload/ ; #root 能够让访问 /images/ 路径时,访问到 /User/XX/Desktop/images,如果将 root 替换为 alias,则访问的是 /User/XX/Desktop/;其中 /User/XX/Desktop/ 是本机中的绝对路径。
    }

location /images {
  alias /home/publisherupload/ ; #root 能够让访问 /images/ 路径时,访问到 /User/XX/Desktop/images,如果将 root 替换为 alias,则访问的是 /User/XX/Desktop/;其中 /User/XX/Desktop/ 是本机中的绝对路径。
  autoindex on; #打开目录浏览功能
}

7 重载nginx配置

/usr/local/nginx/sbin/nginx -s

8 测试

最终的图片访问地址为在原图片地址后面加入_宽度X高度参数

http://110.87.103.58:12345/images/2021-01/202101250944272_500x400.png

参考

https://cloud.tencent.com/developer/article/1644466

到此这篇关于使用nginx动态转换图片大小生成缩略图的文章就介绍到这了,更多相关nginx动态转换图片大小内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!


Tags in this post...

Servers 相关文章推荐
Nginx开启Brotli压缩算法实现过程详解
Mar 31 Servers
Nginx使用X-Accel-Redirect实现静态文件下载的统计、鉴权、防盗链、限速等
Apr 04 Servers
图文详解Nginx版本平滑升级方案
Sep 15 Servers
Docker官方工具docker-registry案例演示
Apr 13 Servers
nginx容器方式反向代理实战
Apr 18 Servers
Windows和Linux上部署Golang并运行程序
Apr 22 Servers
阿里云服务器Ubuntu 20.04上安装Odoo 15
May 20 Servers
Ubuntu安装Mysql+启用远程连接的完整过程
Jun 21 Servers
超越Nginx的Web服务器caddy优雅用法
Jun 21 Servers
服务器SVN搭建图文安装过程
Jun 21 Servers
云服务器部署 Web 项目的实现步骤
Jun 28 Servers
解决ubuntu安装软件时,status-code=409报错的问题
Dec 24 Servers
Nginx反向代理多个服务器的实现方法
基于nginx实现上游服务器动态自动上下线无需reload的实现方法
为什么 Nginx 比 Apache 更牛逼
Mar 31 #Servers
Nginx的rewrite模块详解
Mar 31 #Servers
nginx常用命令放入shell脚本详解
Mar 31 #Servers
详解如何修改nginx的默认端口
nginx前后端同域名配置的方法实现
Mar 31 #Servers
You might like
PHP的ASP防火墙
2006/10/09 PHP
PHP XML error parsing SOAP payload on line 1
2010/06/17 PHP
Laravel 5框架学习之表单
2015/04/08 PHP
常见PHP数据库解决方案分析介绍
2015/09/24 PHP
表单的一些基本用法与技巧
2006/07/15 Javascript
js用图作提交按钮或超连接
2008/03/26 Javascript
JavaScript面向对象之静态与非静态类
2010/02/03 Javascript
JavaScript 类似flash效果的立体图片浏览器
2010/02/08 Javascript
jquery异步跨域访问代码
2013/06/28 Javascript
href下载文件根据id取url并下载
2014/05/28 Javascript
javascript中call apply 的应用场景
2015/04/16 Javascript
javascript显式类型转换实例分析
2015/04/25 Javascript
讲解JavaScript中for...in语句的使用方法
2015/06/03 Javascript
JS基于FileSystemObject创建一个指定路径的TXT文本文件
2015/08/05 Javascript
javascript简单实现等比例缩小图片的方法
2016/07/27 Javascript
基于iscroll.js实现下拉刷新和上拉加载效果
2016/11/28 Javascript
详解JavaScript模块化开发
2016/12/04 Javascript
详解在Angularjs中ui-sref和$state.go如何传递参数
2017/04/24 Javascript
Node.js安装配置图文教程
2017/05/10 Javascript
JavaScript中运算符规则和隐式类型转换示例详解
2017/09/06 Javascript
Vue 兄弟组件通信的方法(不使用Vuex)
2017/10/26 Javascript
微信小程序如何获取openid及用户信息
2018/01/26 Javascript
vue cli构建的项目中请求代理与项目打包问题
2018/02/26 Javascript
jQuery实现带3D切割效果的轮播图功能示例【附源码下载】
2019/04/04 jQuery
js+canvas实现简单扫雷小游戏
2021/01/22 Javascript
python 查找文件名包含指定字符串的方法
2018/06/05 Python
如何利用Python分析出微信朋友男女统计图
2019/01/25 Python
踩坑:pytorch中eval模式下结果远差于train模式介绍
2020/06/23 Python
英国领先的餐饮折扣俱乐部:Gourmet Society
2020/07/26 全球购物
假日旅行社实习自我鉴定
2013/09/24 职场文书
幼儿园清明节活动总结
2014/07/04 职场文书
计划生育证明格式及范本
2014/10/09 职场文书
武夷山导游词
2015/02/03 职场文书
个人工作保证书
2015/02/28 职场文书
学历证明范文
2015/06/16 职场文书
MySQL 视图(View)原理解析
2021/05/19 MySQL