使用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解决前端访问资源跨域问题的方法详解
Mar 31 Servers
Nginx本地目录映射实现代码实例
Mar 31 Servers
Nginx 根据URL带的参数转发的实现
Apr 01 Servers
Nginx实现负载均衡的项目实践
Mar 18 Servers
Nginx工作模式及代理配置的使用细节
Mar 21 Servers
CKAD认证中部署k8s并配置Calico插件
Mar 31 Servers
docker 制作mysql镜像并自动安装
May 20 Servers
使用Apache Camel表达REST服务的方法
Jun 10 Servers
shell进度条追踪指令执行时间的场景分析
Jun 16 Servers
kubernetes集群搭建Zabbix监控平台的详细过程
Jul 07 Servers
Flink 侧流输出源码示例解析
Sep 23 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中Array相关函数简介
2016/07/03 PHP
PHP面向对象之工作单元(实例讲解)
2017/06/26 PHP
Thinkphp5+plupload实现的图片上传功能示例【支持实时预览】
2019/05/08 PHP
PHP利用curl发送HTTP请求的实例代码
2020/07/09 PHP
JQuery实现简单验证码提示解决方案
2012/12/20 Javascript
体验js中splice()的强大(插入、删除或替换数组的元素)
2013/01/16 Javascript
js Dialog 去掉右上角的X关闭功能
2014/04/23 Javascript
js动态移动滚动条至底部示例代码
2014/04/24 Javascript
jquery实现经典的淡入淡出选项卡效果代码
2015/09/22 Javascript
JS仿hao123导航页面图片轮播效果
2016/09/01 Javascript
javascript汉字拼音互转的简单实例
2016/10/09 Javascript
C#微信小程序服务端获取用户解密信息实例代码
2017/03/10 Javascript
JS实现获取图片大小和预览的方法完整实例【兼容IE和其它浏览器】
2017/04/24 Javascript
JS中把函数作为另一函数的参数传递方法(总结)
2017/06/28 Javascript
原生js实现form表单序列化的方法
2018/08/02 Javascript
超详细动手搭建一个VuePress 站点及开启PWA与自动部署的方法
2019/01/27 Javascript
ES6 Iterator接口和for...of循环用法分析
2019/07/31 Javascript
微信小程序 冒泡事件原理解析
2019/09/27 Javascript
[05:09]DOTA2-DPC中国联赛2月22日Recap集锦
2021/03/11 DOTA
编写Python爬虫抓取豆瓣电影TOP100及用户头像的方法
2016/01/20 Python
取numpy数组的某几行某几列方法
2018/04/03 Python
python实现读取大文件并逐行写入另外一个文件
2018/04/19 Python
python3实现猜数字游戏
2020/12/07 Python
Python Process多进程实现过程
2019/10/22 Python
6号汽车旅馆预订:Motel 6
2018/02/11 全球购物
中国一家综合的外贸B2C电子商务网站:DealeXtreme(DX)
2020/03/10 全球购物
工作表现自我评价
2014/02/08 职场文书
《厄运打不垮的信念》教学反思
2014/04/13 职场文书
美术课外活动总结
2014/07/08 职场文书
政风行风建设责任书
2014/07/23 职场文书
创建绿色社区汇报材料
2014/08/22 职场文书
群众路线教育实践活动对照检查材料思想汇报(副处级领导)
2014/10/04 职场文书
幼儿园法制宣传日活动总结
2014/11/01 职场文书
2014年新农村建设工作总结
2014/12/01 职场文书
毕业论文致谢怎么写
2015/05/14 职场文书
甲午大海战观后感
2015/06/02 职场文书