使用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配置SSL证书出错解决方案
Mar 31 Servers
Nginx开启Brotli压缩算法实现过程详解
Mar 31 Servers
Linux中Nginx的防盗链和优化的实现代码
Jun 20 Servers
nginx反向代理配置去除前缀案例教程
Jul 26 Servers
使用 Apache 反向代理的设置技巧
Jan 18 Servers
Nginx流量拷贝ngx_http_mirror_module模块使用方法详解
Apr 07 Servers
tomcat正常启动但网页却无法访问的几种解决方法
May 06 Servers
使用Nginx的访问日志统计PV与UV
May 06 Servers
项目中Nginx多级代理是如何获取客户端的真实IP地址
May 30 Servers
win sever 2022如何占用操作主机角色
Jun 25 Servers
Nginx使用ngx_http_upstream_module实现负载均衡功能示例
Aug 05 Servers
CentOS7 minimal 最小化安装网络设置过程
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初学者头疼问题总结
2006/10/09 PHP
php面向对象全攻略 (七) 继承性
2009/09/30 PHP
一个图片地址分解程序(用于PHP小偷程序)
2014/08/23 PHP
注意!PHP 7中不要做的10件事
2016/09/18 PHP
发一个自己用JS写的实用看图工具实现代码
2008/07/26 Javascript
button没写type=button会导致点击时提交
2014/03/06 Javascript
jquery easyui 对于开始时间小于结束时间的判断示例
2014/03/22 Javascript
js闭包实现按秒计数
2015/04/23 Javascript
跟我学习javascript的for循环和for...in循环
2015/11/18 Javascript
Bootstrap三种表单布局的使用方法
2016/06/21 Javascript
前端js实现文件的断点续传 后端PHP文件接收
2016/10/14 Javascript
video.js使用改变ui过程
2017/03/05 Javascript
深入浅析JS中的严格模式
2018/06/04 Javascript
JavaScript canvas绘制渐变颜色的矩形
2020/02/18 Javascript
javascript实现的图片预览和上传功能示例【兼容IE 9】
2020/05/01 Javascript
vue实现图片按比例缩放问题操作
2020/08/11 Javascript
python编辑用户登入界面的实现代码
2018/07/16 Python
Python中GeoJson和bokeh-1的使用讲解
2019/01/03 Python
Django数据库类库MySQLdb使用详解
2019/04/28 Python
python操作kafka实践的示例代码
2019/06/19 Python
pytorch torch.nn.AdaptiveAvgPool2d()自适应平均池化函数详解
2020/01/03 Python
django实现模型字段动态choice的操作
2020/04/01 Python
Jupyter 无法下载文件夹如何实现曲线救国
2020/04/22 Python
IE兼容css3圆角的实现代码
2011/07/21 HTML / CSS
HTML5边玩边学(1)画布实现方法
2010/09/21 HTML / CSS
原装进口全世界:天猫国际
2016/08/03 全球购物
介绍一下HTTP、HTTPS和SSL
2012/12/16 面试题
外语专业毕业生自荐信
2014/04/14 职场文书
爱护公共设施倡议书
2014/08/29 职场文书
滞留工资返还协议书
2014/10/19 职场文书
招商引资工作汇报材料
2014/10/28 职场文书
2014小学语文教学工作总结
2014/12/17 职场文书
慰问信模板
2015/02/14 职场文书
导游词之潮音寺
2019/09/26 职场文书
nginx 防盗链防爬虫配置详解
2021/03/31 Servers
深入理解python协程
2021/06/15 Python