使用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常用命令放入shell脚本详解
Mar 31 Servers
Nginx服务器如何设置url链接
Mar 31 Servers
Nginx下配置Https证书详细过程
Apr 01 Servers
nginx安装以及配置的详细过程记录
Sep 15 Servers
解决xampp安装后Apache无法启动
Mar 21 Servers
配置Kubernetes外网访问集群
Mar 31 Servers
阿里云日志过滤器配置日志服务
Apr 09 Servers
Nginx配置根据url参数重定向
Apr 11 Servers
Windows Server 2012 修改远程默认端口3389的方法
Apr 28 Servers
nginx配置限速限流基于内置模块
May 02 Servers
docker 制作mysql镜像并自动安装
May 20 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学习笔记(一) 简单了解PHP
2014/08/04 PHP
php简单操作mysql数据库的类
2015/04/16 PHP
php基于 swoole 实现的异步处理任务功能示例
2019/08/13 PHP
javascript RadioButtonList获取选中值
2009/04/09 Javascript
javascript 事件绑定问题
2011/01/01 Javascript
JS localStorage实现本地缓存的方法
2013/06/22 Javascript
javascript实现des解密加密全过程
2014/04/03 Javascript
artDialog+plupload实现多文件上传
2016/07/19 Javascript
详解Javascript百度地图接口开发文档中的类和方法
2017/02/07 Javascript
JS实现发送短信验证后按钮倒计时功能(防止刷新倒计时失效)
2017/07/07 Javascript
angular使用bootstrap方法手动启动的实例代码
2017/07/18 Javascript
通过示例彻底搞懂js闭包
2017/08/10 Javascript
bootstrap 通过加减按钮实现输入框组功能
2017/11/15 Javascript
React中的refs的使用教程
2018/02/13 Javascript
详解Vue打包优化之code spliting
2018/04/09 Javascript
webstrom Debug 调试vue项目的方法步骤
2018/07/17 Javascript
小程序分享模块超级详解(推荐)
2019/04/10 Javascript
30分钟用Node.js构建一个API服务器的步骤详解
2019/05/24 Javascript
layui上传图片到服务器的非项目目录下的方法
2019/09/26 Javascript
详解Django通用视图中的函数包装
2015/07/21 Python
解决pyttsx3无法封装的问题
2018/12/24 Python
Python 获取numpy.array索引值的实例
2019/12/06 Python
解决python使用list()时总是报错的问题
2020/05/05 Python
使用keras实现densenet和Xception的模型融合
2020/05/23 Python
CSS3教程:background-clip和background-origin
2008/10/17 HTML / CSS
利用canvas实现图片下载功能来实现浏览器兼容问题
2019/05/31 HTML / CSS
个人求职简历中英文自我评价
2013/12/16 职场文书
教育孩子心得体会
2014/01/01 职场文书
消防安全检查制度
2014/02/04 职场文书
优秀团员自我评价范文
2014/04/23 职场文书
婚宴新娘致辞
2015/07/28 职场文书
初中政治教师教学反思
2016/02/23 职场文书
Python文件的操作示例的详细讲解
2021/04/08 Python
浅谈vue2的$refs在vue3组合式API中的替代方法
2021/04/18 Vue.js
openstack中的rpc远程调用的方法
2021/07/09 Python
Nginx静态压缩和代码压缩提高访问速度详解
2022/05/30 Servers