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

 更新时间:2021年02月04日 09:28:35   作者:fzyx  
这篇文章主要介绍了使用nginx动态转换图片大小生成缩略图,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

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动态转换图片大小内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 启用Nginx目录浏览功能的方法

    启用Nginx目录浏览功能的方法

    这篇文章主要介绍了启用Nginx目录浏览功能的方法,需要的朋友可以参考下
    2014-03-03
  • Nginx 域名转发的实现

    Nginx 域名转发的实现

    这篇文章主要介绍了Nginx 域名转发的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08
  • nginx 504 Gateway Time-out错误解决方法

    nginx 504 Gateway Time-out错误解决方法

    我们经常会发现大量的nginx服务器访问时会提示nginx 504 Gateway Time-out错误了,下面我来总结了一些解决办法,有需要了解的同学可进入参考
    2014-11-11
  • nginx location 配置 正则表达式实例详解

    nginx location 配置 正则表达式实例详解

    本文通过实例代码给大家介绍了nginx location 配置 正则表达式的问题,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-07-07
  • Nginx 设置域名转发到指定端口的实现方法

    Nginx 设置域名转发到指定端口的实现方法

    这篇文章主要介绍了Nginx 设置域名转发到指定端口的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08
  • Nginx + php 搭建 超性能 WEB 服务器

    Nginx + php 搭建 超性能 WEB 服务器

    Nginx ("engine x") 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。
    2010-03-03
  • 在Nginx浏览器中打开目录浏览功能

    在Nginx浏览器中打开目录浏览功能

    这篇文章主要介绍了在Nginx浏览器中打开目录浏览功能,Nginx的目录浏览功能默认情况下被关闭需要手动打开,需要的朋友可以参考下
    2015-07-07
  • 利用nginx搭建静态资源服务器的方法步骤

    利用nginx搭建静态资源服务器的方法步骤

    这篇文章主要介绍了利用nginx搭建静态资源服务器的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06
  • Nginx为Tomcat服务器作反向代理的配置教程

    Nginx为Tomcat服务器作反向代理的配置教程

    这篇文章主要介绍了Nginx为Tomcat服务器作反向代理的配置教程,文中以Windows系统为环境来演示驱动JSP程序的示例,需要的朋友可以参考下
    2016-03-03
  • Nginx配置的rewrite编写时last与break的区别分析

    Nginx配置的rewrite编写时last与break的区别分析

    这篇文章主要介绍了Nginx配置的rewrite编写时last与break的区别分析,简单来说使用last会对server标签重新发起请求,而break就直接使用当前的location中的数据源来访问,需要的朋友可以参考下
    2016-01-01

最新评论