前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >GridFS使用及配合nginx实现文件服务

GridFS使用及配合nginx实现文件服务

作者头像
用户1141560
发布2017-12-25 10:27:07
2.7K0
发布2017-12-25 10:27:07
举报
文章被收录于专栏:西安-晁州西安-晁州

Mongodb下GridFS使用及配合nginx实现文件服务

一、GridFS简介

GridFS是mongodb下用来存储文件的一种规范,所有官方支持的驱动均实现了GridFS规范。

Mongodb本来以BSON格式保存二进制对象,但是BSON对象支持的最大文件为16M,如果文件超过16M,则最好通过GridFS来进行存储。GridFS存储时会将大文件切分为很多小文件片段(chunk),每个片段大小一般为256Kb,每一个片段(chunk)作为mongodb中的一个document来存储。

GridFS使用2个collection来存储一个文件,分别是fs.files、fs.chunks。fs.files集合存储当前文件的基本信息:文件名(filename)、文件大小(chunkSize)等,如下:

fs.chunks用来保存实际的二进制数据(data字段)、当前片段的序号(n)、所属文件的id(files_id)等,如下:

二、nodejs下GridFS基本操作

Nodejs操作GridFS,一是使用官方推荐的驱动包:mongodb,一种是使用gridfs-stream模块。

使用gridfs-stream基本操作如下:

三、使用nginx-gridfs实现文件服务(Linux环境)

1、安装依赖

a) yum install gcc-c++

b) yum install -y pcre pcre-devel

c) yum install -y zlib zlib-devel

d) yum install -y openssl openssl-devel

e) yum install -y git

2、下载安装包

a) cd /usr/local

b) wget https://nginx.org/download/nginx-1.7.4.tar.gz

c) tar -zxvf nginx-1.7.4.tar.gz

3、安装nginx-gridfs

a) git clone https://github.com/rjhunjhunwla/nginx-gridfs

b) tar -zxvf nginx-gridfs(解压上面下载的nginx-gridfs文件)

c) cd nginx-gridfs

d) git submodule init && git submodule update

4、安装nginx

a) 切换到nginx-1.7.4文件夹(cd .. && cd nginx-1.7.4)

b) ./configure --add-module=../nginx-gridfs

c) make && make install

5、测试nginx安装是否成功

打开浏览器,输入主机ip地址,如下即成功:

6、修改nginx配置文件,添加nginx-gridfs配置(配置结束需重启nginx服务)

打开/usr/local/nginx/conf下的nginx.conf文件,添加的location如下:

7、测试nginx-gridfs是否配置成功(输入地址直接提示下载即为成功)

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-05-26 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 MongoDB
腾讯云数据库 MongoDB(TencentDB for MongoDB)是腾讯云基于全球广受欢迎的 MongoDB 打造的高性能 NoSQL 数据库,100%完全兼容 MongoDB 协议,支持跨文档事务,提供稳定丰富的监控管理,弹性可扩展、自动容灾,适用于文档型数据库场景,您无需自建灾备体系及控制管理系统。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档