使用nginx动态转换图片大小生成缩略图_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 + consul + upsync 完成动态负载均衡的方法详解为Nginx动态添加模块的方法nginx ip黑名单动态封禁的例子Nginx缓存文件与动态文件自动均衡的配置脚本详解Nginx 动态 DNS 反向代理的几种写法Nginx为已安装nginx动态添加模块nginx动态添加访问白名单的方法PHP加Nginx实现动态裁剪图片方案

  • 本文相关:
  • 启用nginx目录浏览功能的方法
  • nginx 域名转发的实现
  • nginx 504 gateway time-out错误解决方法
  • nginx location 配置 正则表达式实例详解
  • nginx 设置域名转发到指定端口的实现方法
  • nginx + php 搭建 超性能 web 服务器
  • 在nginx浏览器中打开目录浏览功能
  • 利用nginx搭建静态资源服务器的方法步骤
  • nginx为tomcat服务器作反向代理的配置教程
  • nginx配置的rewrite编写时last与break的区别分析
  • nginx 动态生成的缩略图怎么存储
  • nginx-lua-fastdfs-GraphicsMagick 动态生成缩略图...
  • nginx+php 生成缩略图的时候发现没有jpeg支持安装...
  • nginx 伪静态 不支持图片 .gif .jpg 这些结尾的都...
  • nginx配置url动态的参数如何配置?
  • nginx转发 由http加ssl成https后,在新页面打开图片...
  • nginx集群环境下访问图片问题
  • 如何修改nginx的上传文件大小
  • nginx 配置后图片无法显示
  • nginx resolver可以动态设置吗
  • 网站首页网页制作脚本下载服务器操作系统网站运营平面设计媒体动画电脑基础硬件教程网络安全星外虚拟主机华众虚拟主机linuxwin服务器ftp服务器dns服务器tomcat nginxzabbix云和虚拟化服务器其它首页服务器nginx + consul + upsync 完成动态负载均衡的方法详解为nginx动态添加模块的方法nginx ip黑名单动态封禁的例子nginx缓存文件与动态文件自动均衡的配置脚本详解nginx 动态 dns 反向代理的几种写法nginx为已安装nginx动态添加模块nginx动态添加访问白名单的方法php加nginx实现动态裁剪图片方案启用nginx目录浏览功能的方法nginx 域名转发的实现nginx 504 gateway time-out错误解决方法nginx location 配置 正则表达式实例详解nginx 设置域名转发到指定端口的实现方法nginx + php 搭建 超性能 web 服务器在nginx浏览器中打开目录浏览功能利用nginx搭建静态资源服务器的方法步骤nginx为tomcat服务器作反向代理的配置教程nginx配置的rewrite编写时last与break的区别分析nginx提示:500 internal servernginx 多站点配置方法集合权限问题导致nginx 403 forbiddenginx fastcgi错误primary scripnginx服务器的反向代理proxy_pasnginx 403 forbidden的解决办法详解nginx服务器中配置超时时间的nginx伪静态配置和常用rewrite伪nginx下301重定向域名的方法小结windows下nginx+php5的安装与配置详解用nginx搭建cdn服务器方法(图文)nginx端口映射配置方法nginx+tomcat实现windows系统下的负载均衡详解nginx惊群问题的解决方式nginx中location从零开始的配置教程nginx域名转发使用场景代码实例fastdfs与nginx进行压缩图片比率lnmp编译安装之nginx安装配置方法图文教程nginx中配置用户服务器访问认证的方法示例实现自动定期删除nginx日志的方法
    免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved