• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    使用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+Tomcat实现负载均衡、动静分离的原理解析
    下一篇:Tomcat配置及如何在Eclipse中启动
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

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