使用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 相关文章推荐
Apache压力测试工具的安装使用
Mar 31 Servers
Nginx中break与last的区别详析
Mar 31 Servers
Nginx开启Brotli压缩算法实现过程详解
Mar 31 Servers
Nginx Rewrite使用场景及配置方法解析
Apr 01 Servers
使用nginx配置访问wgcloud的方法
Jun 26 Servers
centos8安装nginx1.9.1的详细过程
Aug 02 Servers
Nginx虚拟主机的搭建的实现步骤
Jan 18 Servers
Nginx速查手册及常见问题
Apr 07 Servers
nginx.conf配置文件结构小结
Apr 08 Servers
Win10 Anaconda安装python-pcl
Apr 29 Servers
nginx 添加http_stub_status_module模块
May 25 Servers
在虚拟机中安装windows server 2008的图文教程
Jun 28 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
动态修改DOM 里面的 id 属性的弊端分析
2008/09/03 Javascript
Jquery树插件zTree用法入门教程
2015/02/17 Javascript
使用jQuery给input标签设置默认值
2016/06/20 Javascript
Angular1.x复杂指令实例详解
2017/03/01 Javascript
微信小程序开发教程之增加mixin扩展
2017/08/09 Javascript
Vue2.0父组件与子组件之间的事件发射与接收实例代码
2017/09/19 Javascript
Vue一个案例引发的递归组件的使用详解
2018/11/15 Javascript
JavaScript函数式编程(Functional Programming)箭头函数(Arrow functions)用法分析
2019/05/22 Javascript
javascript实现的时间格式加8小时功能示例
2019/06/13 Javascript
javascript设计模式 ? 命令模式原理与用法实例分析
2020/04/20 Javascript
[06:24]DOTA2 2015国际邀请赛中国区预选赛第二日TOP10
2015/05/27 DOTA
[01:21]2018DOTA2亚洲邀请赛4.5采访 打DOTA2也能有女朋友?
2018/04/06 DOTA
推荐下python/ironpython:从入门到精通
2007/10/02 Python
浅析Python中的多重继承
2015/04/28 Python
详解 Python 读写XML文件的实例
2017/08/02 Python
python构建深度神经网络(续)
2018/03/10 Python
Python实现字符串的逆序 C++字符串逆序算法
2020/05/28 Python
python 去除txt文本中的空格、数字、特定字母等方法
2018/07/24 Python
对python3.4 字符串转16进制的实例详解
2019/06/12 Python
如何理解Python中包的引入
2020/05/29 Python
Python中Selenium库使用教程详解
2020/07/23 Python
使用Python绘制台风轨迹图的示例代码
2020/09/21 Python
CSS3转换功能transform主要属性值分析及实现分享
2012/05/06 HTML / CSS
CSS3 实现雷达扫描图的示例代码
2020/09/21 HTML / CSS
生产部管理制度
2014/01/31 职场文书
会计专业职业规划:规划自我赢取未来
2014/02/12 职场文书
淘宝客服专员岗位职责
2014/04/11 职场文书
工伤赔偿协议书范本
2014/04/15 职场文书
医学专业毕业生推荐信
2014/07/12 职场文书
会计个人实习计划书
2014/08/15 职场文书
学校个人对照检查材料
2014/08/26 职场文书
大学生考试作弊被抓检讨书
2014/12/27 职场文书
经典搞笑版检讨书
2015/02/19 职场文书
2015教师节师德演讲稿
2015/03/19 职场文书
PHP控制循环操作的时间
2021/04/01 PHP
Java 死锁解决方案
2022/05/11 Java/Android