全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 494|回复: 6

关于image_filter缩略图裁剪的修改 红包奉上

[复制链接]
发表于 2021-6-26 10:31:28 | 显示全部楼层 |阅读模式
nginx配置了image_filter模块  网站conf添加以下配置
已经实现了?width=200&height=200的缩略图裁剪的功能

  1. location ~ .*\.(jpg|jpeg|gif|png|js|css)$ {
  2.             set $width '';
  3.             set $height '';
  4.             #将参数赋值给宽和高
  5.             set $width $arg_width;
  6.             set $height $arg_height;
  7.             #当存在参数请求(即请求的是缩略图),插入头部标识方便测试
  8.             if ( $width != '' ) {
  9.                 add_header Thumbnail "By Nginx";
  10.             }
  11.             #当未设置高度时,仅使用宽度来进行缩放,可以保证图片的正常比例(适用于文章)
  12.             if ( $height = '' ) {
  13.                 set $height '-';
  14.             }
  15.             #当请求的是原图时(即不带参数),则设置宽高维度为”-”
  16.             if ( $width = '' ) {
  17.                 set $width '-';
  18.                 set $height '-';
  19.             }
  20.             #生成缩略图
  21.             image_filter resize $width $height;
  22.             image_filter_buffer 2M;
  23.             image_filter_jpeg_quality 80;
  24.             image_filter_transparency on;
  25.     }
复制代码




但是想加载基础上加上裁剪后的缩略图缓存功能
百度到一个教程
https://blog.csdn.net/yong472727322/article/details/78654975
但是想在我用的代码基础上加上缓存功能

哪位大佬能帮忙下
30红包奉上
 楼主| 发表于 2021-6-26 12:17:02 | 显示全部楼层
没有人会的么  还是红包不够
发表于 2021-6-26 12:25:24 | 显示全部楼层
楼主你就说搞多大的,我给你裁出来太专业的咱也不懂
发表于 2021-6-26 13:06:59 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
 楼主| 发表于 2021-6-26 14:15:27 | 显示全部楼层

这样不行 还是在新访问下重新生成缩略图
发表于 2021-6-26 14:55:24 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2021-6-26 16:15:24 | 显示全部楼层
  1. location ~* \.(jpg|jpeg|png)$ {
  2.     root /www/wwwroot/www.xxx.com;
  3.     try_files $uri @Thumbnail;
  4.     add_header Access-Control-Allow-Origin "*";
  5.     expires max;
  6.    
  7.     #关闭日志
  8.     error_log /dev/null;
  9.     access_log /dev/null;

  10.     }

  11. location @Thumbnail {
  12.     proxy_ssl_server_name on;
  13.     #proxy_set_header Host www.xxx.com;
  14.     proxy_set_header X-Real-IP $remote_addr;
  15.     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  16.     proxy_set_header REMOTE-HOST $remote_addr;

  17.     #剪裁图片
  18.             set $width '';
  19.             set $height '';
  20.             #将参数赋值给宽和高
  21.             set $width $arg_width;
  22.             set $height $arg_height;
  23.             #当存在参数请求(即请求的是缩略图),插入头部标识方便测试
  24.             if ( $width != '' ) {
  25.                 add_header Thumbnail "By Nginx";
  26.             }
  27.             #当未设置高度时,仅使用宽度来进行缩放,可以保证图片的正常比例(适用于文章)
  28.             if ( $height = '' ) {
  29.                 set $height '-';
  30.             }
  31.             #当请求的是原图时(即不带参数),则设置宽高维度为”-”
  32.             if ( $width = '' ) {
  33.                 set $width '-';
  34.                 set $height '-';
  35.             }
  36.             #生成缩略图
  37.             image_filter resize $width $height;
  38.             image_filter_buffer 2M;
  39.             image_filter_jpeg_quality 80;
  40.             image_filter_transparency on;

  41.     #永久缓存
  42.     proxy_store /www/wwwroot/www.xxx.com/Thumbnail;
  43.     proxy_store_access user:rw group:rw all:r;


  44.     #关闭日志
  45.     error_log /dev/null;
  46.     access_log /dev/null;
  47. }
复制代码


红包准备好,然后拿这段规则去试试吧。
可能还需要调试,搞不定可以 PM 我。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2024-4-25 08:36 , Processed in 0.083781 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表