zoukankan      html  css  js  c++  java
  • GridFS使用及配合nginx实现文件服务

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

    一、GridFS简介

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

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

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

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

     

    二、nodejsGridFS基本操作

    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是否配置成功(输入地址直接提示下载即为成功)

  • 相关阅读:
    vue2 在methods 中无法获取this对象
    mysql-set
    laravel 模板
    laravel save() 返回 null
    如何设置电脑允许远程访问并修改电脑用户密码?
    laravel报错:Unable to detect application namespace.
    b站操作系统2程序的顺序执行与并发执行
    b站计算机网络谢希仁4物理层
    b站计算机网络谢希仁2性能
    b站J数据库13之封装通用的增删改查方法
  • 原文地址:https://www.cnblogs.com/vipzhou/p/6909314.html
Copyright © 2011-2022 走看看