使用nginx实现自定义大小预览缩略图,http_image_filter模块的安装使用

注意事项

  • 本预览图功能使用的是nginx的http_image_filter模块,可以自定义缓存大小解决占用服务器容量问题,建议配合fastDFS使用
  • http_image_filter不会改变图片原始比例
    例如原始图片尺寸为16:9,那么输入宽高值之后会以较小的一个参数展现预览图,比如原始图为1600*900,传递参数320*90会拿到160*90的预览图
  • http_image_filter无法做到等比例放大
    例如原始图为1920*1080,输入参数大于1920*1080后拿到的预览图也都是原图,无法拿到更大的
  • 应用场景
    一般使用于图片清晰度要求较高文件较大,服务器资源无法满足处理多种尺寸预览图,但应用场景需要适配不同性能机型以使用几种尺寸特定比例的预览图

服务器配置方法

安装模块

博主的nginx安装路径为/usr/local/nginx,安装包的路径为/usr/local/nginx-1.20.1.先cd到/usr/local/nginx路径下,执行下面命令查询原有nginx已安装的模块

./sbin/nginx -V

查询原有nginx已安装的模块
然后cd到/usr/local/nginx-1.20.1,在原有模块的基础下最后追加这一段,我截图里面已经有了是因为刚刚已经配置完了

--with-http_image_filter_module=dynamic
# 示例
./configure --prefix=/usr/local/nginx --pid-path=/usr/local/nginx/run --user=nginx --group=nginx --with-http_ssl_module --with-http_flv_module --with-http_stub_status_module --with-http_gzip_static_module --with-pcre --with-http_image_filter_module=dynamic

这个时候先别执行make,否则会报出缺少依赖的错,先安装依赖

yum install gd-devel

执行make,千万不要install。否则会覆盖

make

此时/usr/local/nginx-1.20.1下的objs目录中会出现ngx_http_image_filter_model.so文件
ngx_http_image_filter_model
接下来要做的是配置conf文件和重启ngxin,先将原有的启动文件备份。

cd /usr/local/nginx/sbin
mv nginx nginx.d
cd /usr/local/nginx-1.20.1/objs
cp nginx ../../nginx/sbin/

备份http_image_filter模块用以调用

mkdir /usr/local/nginx/modules
cp /usr/local/nginx-1.20.1/objs/ngx_http_image_filter_module.so /usr/local/nginx/modules

配置文件调整引入模块

vi /usr/local/nginx/conf/nginx.conf
load_module "modules/ngx_http_image_filter_module.so";

调整配置文件引入模块

修改配置文件设置访问入口

在原有的访问静态文件的location中加入下面代码,意为取请求地址的w参数和h参数为缩略图大小,缓存大小为100M

		image_filter resize  $arg_w $arg_h;
        image_filter_buffer  100M;

随后重启nginx服务

在这里插入图片描述
这三个都kill掉
然后到/usr/local/nginx下执行

./sbin/nginx

访问请求测试

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
以上就是配置使用http_image_filter模块的全过程,如有疑问欢迎留言私信

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿韩想静静

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值