用nginx-gridFS读取MongoDB的图片

nginx-gridfs是一个nginx的扩展模块,用于支持直接访问MongoDB的GridFS文件系统上的文件并提供 HTTP 访问。

一、安装mongodb

创建/etc/yum.repos.d/mongodb.repo文件,配置文件内容如下:

[mongodb]
name=MongoDB Repository
baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64/
gpgcheck=0
enabled=1

安装mongodb server及mongodb shell。

$ sudo yum install mongodb-org-server-2.6.3 mongodb-org-shell-2.6.3

配置mongodb的数据存储路径。

# mkdir /data/mongodb
# chown mongod:mongod /data/mongodb

修改/etc/mongod.conf配置的路径指向。

# 配置数据库存储路径
dbpath=/data/mongodb

启动mongo服务

$ sudo chkconfig mongod on
$ sudo service mongod restart

二、安装nginx及nginx-gridfs

依赖库、工具

# yum -y install pcre-devel openssl-devel zlib-devel
# yum -y install gcc gcc-c++

下载nginx-gridfs源码

# git clone https://github.com/mdirolf/nginx-gridfs.git
# cd nginx-gridfs
# git checkout v0.8
# git submodule init
# git submodule update

下载nginx源码,编译安装。

# wget http://nginx.org/download/nginx-1.4.7.tar.gz
# tar zxvf nginx-1.4.7.tar.gz
# cd nginx-1.4.7
# ./configure --with-openssl=/usr/include/openssl --add-module=../nginx-gridfs/
# make -j8 && make install -j8

修改/usr/local/nginx/conf/nginx.conf配置文件。

location /static/ {
    gridfs qrcode
        field=_id
        type=objectid;
    #这里的mongo以slave模式启动会有问题?
    mongo 127.0.0.1:27017;
}

启动nginx服务

/usr/local/nginx/sbin/nginx

三、测试

上传图片。

# sudo mongofiles put --host localhost --port 27017 --db qrcode --local ~/photo.jpg --type jpg

在浏览器里输入http://localhost/static/53db05cab177550d8613176f能打开图片就说明成功了

  • 版权声明: 本文源自互联网,由整理发表,其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请自行核实相关内容,如果侵犯,请及时通知我们,我们将在第一时间删除; 于7个月前发布,共 1380字。

发表评论

您必须 登录 才能发表留言!