GridFS

Netkiller Linux Storage 手札

File System, Network File System, Distributed Filesystem...

Mr. Neo Chan, 陈景峰(BG7NYT)

中国广东省深圳市宝安区龙华镇溪山美地
518109
+86 13113668890
+86 755 29812080
<netkiller@msn.com>

文档创建日期2010-11-18

版权 2010, 2011, 2012 Netkiller(Neo Chan). All rights reserved.

版权声明

转载请与作者联系,转载时请务必标明文章原始出处和作者信息及本声明。

文档出处:
http://netkiller.sourceforge.net
http://netkiller.github.com

 

$Date: 2012-07-31 19:26:31 +0800 (Tue, 31 Jul 2012) $

下面是我多年积累下来的经验总结,整理成文档供大家参考:

 

Netkiller Architect 手札 Netkiller Linux 手札 Netkiller Developer 手札 Netkiller Security 手札
Netkiller Debian 手札 Netkiller CentOS 手札 Netkiller FreeBSD 手札 Netkiller Shell 手札
Netkiller Web 手札 Netkiller Monitoring 手札 Netkiller Storage 手札 Netkiller Mail 手札
Netkiller Database 手札 Netkiller PostgreSQL 手札 Netkiller MySQL 手札 Netkiller LDAP 手札
Netkiller Cryptography 手札 Netkiller Docbook 手札 Netkiller Version 手札 Netkiller Multimedia 手札
Netkiller Cisco IOS 手札 Netkiller Intranet 手札 Netkiller Management 手札
Netkiller Installation 手札

 

 

GridFS

http://www.mongodb.org/display/DOCS/GridFS

GridFS 类似 MogileFS

3.1. nginx-gridfs

http://github.com/mdirolf/nginx-gridfs

yum -y install pcre-devel

wget http://nginx.org/download/nginx-1.2.3.tar.gz
tar zxvf nginx-1.2.3.tar.gz

./configure --prefix=/srv/nginx-1.2.3 \
--sbin-path=/srv/nginx-1.2.3/sbin/nginx \
--conf-path=/srv/nginx-1.2.3/conf/nginx.conf \
--user=www --group=www \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--pid-path=/var/run/nginx.pid \
--lock-path=/var/run/nginx.lock \
--http-client-body-temp-path=/var/cache/nginx/client_temp \
--http-proxy-temp-path=/var/cache/nginx/proxy_temp \
--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp \
--http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp \
--http-scgi-temp-path=/var/cache/nginx/scgi_temp \
--with-http_ssl_module \
--with-http_realip_module \
--with-http_addition_module \
--with-http_sub_module \
--with-http_dav_module \
--with-http_flv_module \
--with-http_mp4_module \
--with-http_gzip_static_module \
--with-http_random_index_module \
--with-http_secure_link_module \
--with-http_stub_status_module \
--with-mail --with-mail_ssl_module \
--with-file-aio \
--with-cc-opt='-O2 -g' \
--add-module=/usr/local/src/nginx-gridfs

make && make install

配置语法说明:

gridfs DB_NAME [root_collection=ROOT] [field=QUERY_FIELD] [type=QUERY_TYPE] [user=USERNAME] [pass=PASSWORD]

gridfs 表示告诉nginx服务器要调用gridfs模块
root_collection= 指定Gridfs collection的前缀. 默认: fs
field= 指定用于查询的字段 可以是 _id 和 filename. 默认: _id
type= 指定查询的类型,这里支持 objectid, string 和int. 默认: objectid
user= 指定数据库的用户名. 默认: NULL, 可省略
pass= 指定数据库的密码. 默认: NULL, 可省略
		

Nginx配置文件中的具体写法:

location /images/ {
     gridfs images
     field=_id
     type=objectid;
     mongo 127.0.0.1:27017;
}
		

上传图片

sudo /srv/mongodb/bin/mongofiles put --host localhost --port 27017 --db images --local ~/photo.jpg --type jpg
		

在浏览器里输入http://localhost/images/photo.jpg 能显示图片就说明成功了

例 6.1. nginx-gridfs

#指定db为static,其它均为默认,默认服务器为本地
location /static/ {

	gridfs static;

}

location /static/ {

        gridfs static
        field=filename
        type=string;
        mongo 127.0.0.1:27017;

}

location /static/ {
	gridfs static;
	    field=filename
	    type=string;
	mongo "foo"
	    172.16.1.1:27017
	    172.16.1.2:27017;

}

location /static/ {

    gridfs static
    root_collection=images
    field=_id
    type=int
    user=admin
    pass=pass;
    mongo 127.0.0.1:27017;

}
			

3.2. lighttpd-gridfs

https://bitbucket.org/bwmcadams/lighttpd-gridfs/src/

时间: 2024-12-23 15:38:22

GridFS的相关文章

闲谈MongoDb+GridFS+Nginx

原文:http://tech.techweb.com.cn/thread-433779-1-1.htmlhttp://nightsailer.com/2009/11/13/499.html MongoDb果然是个好东西. 我在最近的一个项目实践中, 实验性的用到了这个东西.在测试中,对于GridFS相当满意. 首先, 和传统的MogileFS不同, gridfs可以和其它的meta数据部署在同一个db中,默认的会为gridfs的collection分别创建fs.files和fs.chunks.5

使用mongodb的gridfs当做文件存储系统如何?

问题描述 使用mongodb的gridfs当做文件存储系统如何? 项目中,对于文件的存放想找一个解决方案,文件有大有小,小的可能2K,大的可能10G以内. 目的想实现文件在多台服务器之间的备份,避免单台服务器物理损毁造成文件丢失 第一种方案:直接存放在linux的文件系统中,自行分目录存放.可是要自己实现备份,有点重新造轮子的感觉 第二种方案:就是标题提出的方案,使用mongodb的gridfs做文件保存,可以实现自动文件复制 第三种方案:使用fastdfs做文件保存,也可以实现自动文件复制 我

python-&amp;amp;#39;GridFS&amp;amp;#39; object has no attribute &amp;amp;#39;find&amp;amp;#39;

问题描述 'GridFS' object has no attribute 'find' 1C File ""E:codetake.py"" line 52 in take for s in fs.find({'packageName':doc['_id']}): AttributeError: 'GridFS' object has no attribute 'find' 请问各位朋友我python中报这个错误是什么原因,该如何解决呢?下面是我的代码:#!/bin

GridFS详细分析

GridFS简介 GridFS是MongoDB中的一个内置功能,可以用于存放大量小文件. http://www.mongodb.org/display/DOCS/GridFS http://www.mongodb.org/display/DOCS/GridFS+Specification GridFS使用 MongoDB提供了一个命令行工具mongofiles可以来处理GridFS,在bin目录下. 列出所有文件: mongofiles list 上传一个文件: mongofiles put x

mongoDB&#039;s GridFS used with replicaSet and sharding

版本: mongodb 1.6.5 x64 bin 环境图:    看到这个图是不是有点像RAID1/0的存储方式. 描述:Server1 : 172.16.3.174/app/mongodb1.6.5/bin/mongod --config /app/mongodb1.6.5/conf/mongod1953.conf --shardsvr --replSet rep/172.16.3.176:1954/app/mongodb1.6.5/bin/mongod --config /app/mong

python安装gridfs模块的命令是怎么写的

问题描述 python安装gridfs模块的命令是怎么写的 我输入命令: pip install gridfs 提示: Could not find any downloads that satisfy the requirement gridfs No distributions at all found for gridfs 解决方案 http://stackoverflow.com/questions/24101300/pip-could-not-find-any-downloads-th

PHP操作MongoDB GridFS 存储文件的详解_php技巧

复制代码 代码如下: <?php //初始化gridfs $conn = new Mongo(); //连接MongoDB $db = $conn->photos; //选择数据库 $grid = $db->getGridFS(); //取得gridfs对象 //gridfs有三种方式存储文件 //第一种直接存储文件 $id = $grid->storeFile("./logo.png"); //第二种存储文件二进制流 $data = get_file_cont

MongoDB.NET 2.2.4驱动版本对Mongodb3.3数据库中GridFS增删改查_MongoDB

本文实例为大家分享了针对Mongodb3.3数据库中GridFS增删改查,供大家参考,具体内容如下 Program.cs代码如下: internal class Program { private static void Main(string[] args) { GridFSHelper helper = new GridFSHelper("mongodb://localhost", "GridFSDemo", "Pictures"); #re

MONGODB GRIDFS存取文件PHP示例

最近项目需要用到MongoDB存取文件,这里有个简单的PHP示例: public function run(){  //初始化gridfs  $m = new MongoClient(); // 连接  $db = $m->selectDB("excel");  //dump($m);exit;  //$collection = $db->testexcel;  $grid = $db->getGridFS(); //取得gridfs对象    //gridfs有三种