首页 > 代码库 > 用nginx-gridFS读取MongoDB的图片

用nginx-gridFS读取MongoDB的图片

一、安装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能打开图片就说明成功了