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

这篇具有很好参考价值的文章主要介绍了使用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实现自定义大小预览缩略图,http_image_filter模块的安装使用
然后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文件
使用nginx实现自定义大小预览缩略图,http_image_filter模块的安装使用
接下来要做的是配置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";

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

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

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

		image_filter resize  $arg_w $arg_h;
        image_filter_buffer  100M;

随后重启nginx服务

使用nginx实现自定义大小预览缩略图,http_image_filter模块的安装使用
这三个都kill掉
然后到/usr/local/nginx下执行

./sbin/nginx

访问请求测试

使用nginx实现自定义大小预览缩略图,http_image_filter模块的安装使用
使用nginx实现自定义大小预览缩略图,http_image_filter模块的安装使用
使用nginx实现自定义大小预览缩略图,http_image_filter模块的安装使用
以上就是配置使用http_image_filter模块的全过程,如有疑问欢迎留言私信文章来源地址https://www.toymoban.com/news/detail-423474.html

到了这里,关于使用nginx实现自定义大小预览缩略图,http_image_filter模块的安装使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用node-red实现一个 每10毫秒一个数据的大数据 时序折线图 支持缩略

    每10毫秒一个数据的大数据 时序折线图。 代码解释 这段代码是用来使用 echarts 绘制动态数据可视化图表的示例。下面是对代码的详细解释: script src=\\\"/echarts.min.js\\\"/script :引入了 echarts 库,需要确保该文件路径正确。 div id=\\\"main1\\\" style=\\\"height: 500px; width: 800px;\\\"/div :创建一个 di

    2024年02月08日
    浏览(42)
  • 记录对接海康威视摄像头web端实时预览:Linux+ffmpeg+nginx转换RTSP视频流(完整版实现)

            需求:web端实现海康摄像头实时预览效果         由于市面上大部分网络摄像头都支持RTSP协议视频流,web端一般无法直接使用RTSP实现视频预览,本篇使用ffmpeg对视频流进行转换,最终实现web端实时预览。         工具介绍:ffmpeg、nginx、vue         介

    2024年01月25日
    浏览(43)
  • Vue3前端h5移动端页面预览PDF使用pdfjs-dist,添加自定义文本水印

    pnpm i pdfjs-dist@2.5.207

    2024年01月18日
    浏览(59)
  • 微信分享第三方连接(H5页面)自定义缩略图、标题、描述(显示分享框,而不是链接)(微信JS-SDK)

    首先要说明几个分享相关的问题: 现在微信不支持自定义按钮分享组件(也就是说不能点击某个按钮分享),只能通过微信右上角的三个小点,点击后选择分享给朋友,朋友圈等。 当前从企业微信分享到微信好友和微信朋友圈是有问题的,一些手机(有些是因为app版本,企

    2024年02月09日
    浏览(43)
  • 使用Vue @media print在JavaScript中插入不同尺寸的打印页面,可自定义尺寸大小和打印机配置

    本文介绍了如何在Vue项目中使用@media print和JavaScript来插入不同尺寸的打印页面,并提供了代码编写、使用教程、注意事项和避坑点,最后进行了总结。 在开发Web应用程序时,经常需要提供打印功能。Vue框架提供了@media print媒体查询,可以根据打印需求自定义打印页面的样式

    2024年02月05日
    浏览(78)
  • Microsoft Graph PowerShell v2 发布公开预览版 - 一半的大小,加速的自动化体验

    通过使用 Microsoft Graph PowerShell SDK 将 Microsoft Graph API 引入 PowerShell,自动化和管理您的 Microsoft 365 租户。专注于真正重要的事情,构建脚本来自动化您的工作,而不是担心限流、重试、重定向和身份验证。Microsoft Graph PowerShell SDK 可以处理所有这些问题,并为 Microsoft Graph 中可用

    2024年02月04日
    浏览(27)
  • 编辑器的缩略图实现原理

    部分 Web 版的 IDE 编辑器未曾实现缩略图功能,探寻一下缩略图的实现逻辑。以 VSCode 为例。 VSCode 的编辑器是 monaco 实现的,编辑器的编辑区都是采用的 虚拟渲染 ,即仅渲染可视区的代码,可视区之外的动态去除 DOM 节点。 打开 VScode Help Toggle Developer Tools,观察 DOM 节点的状态

    2024年02月09日
    浏览(30)
  • 使用pdfjs实现在线预览pdf

    在工作中可能会遇到前端展示pdf文件进行预览并提供下载的需求场景,例如操作指引,这个时候需要寻找一款实现该功能的插件,以pdjjs举例子 这个地方区分是请求后端接口还是直接加载本地pdf文件 如果是请求后端获取到的pdf文件流 如果是读取本地的文件,则url地址直接是本地的

    2024年02月07日
    浏览(26)
  • 使用插件实现pdf,word预览功能

    效果 代码: 插件地址: https://github.com/501351981/vue-office  这个一定要固定版本,不然线上pdf可能会预览报错

    2024年02月12日
    浏览(32)
  • uniapp使用H5实现预览pdf文件

    下载后把压缩包解压到自己的项目的static文件夹下的pdf文件下,如图 新建一个文件名为filePreview.vue 在下载文件事件 1.如果预览文件是乱码情况或者在pc上报ocale.properties的请求返回404 解决:就是pdfjs下载版本有问题,下载以前的老版本 2.如果出现跨域问题直接修改源代码在v

    2024年02月09日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包