Nginx访问MongoDB

来源:互联网 发布:健康医疗大数据产业园 编辑:程序博客网 时间:2024/05/16 15:16

    MongoDB在网站中使用较多,主要使用它来存储静态文件,例如图像文件,因此在这一讲我们将来认识一下nginx-gridfs模块,使用该模块来实现对MongoDB的访问,实际上就是MongoDB的客户端。在具体的安装中要注意它和数据库驱动的版本问题,有时候不是很好安装。

 原文链接http://space.itpub.net/?uid-27043155-action-viewspace-itemid-732084

安装nginx-gridfs模块

 

    下面我们首先来下载并且安装该模块。

 

下载nginx-gridfs模块

 

[root@mail ~]# wget https://nodeload.github.com/mdirolf/nginx-gridfs/tarball/master

--17:20:24--  https://nodeload.github.com/mdirolf/nginx-gridfs/tarball/master

Resolving nodeload.github.com... 207.97.227.252

Connecting to nodeload.github.com|207.97.227.252|:443... connected.

HTTP request sent, awaiting response... 200 OK

Length: 19079 (19K) [application/octet-stream]

Saving to: `mdirolf-nginx-gridfs-v0.8-11-ge5d8cc7.tar.gz'

 

100%[=================================>] 19,079      24.2K/s   in 0.8s  

 

17:20:28 (24.2 KB/s) - `mdirolf-nginx-gridfs-v0.8-11-ge5d8cc7.tar.gz' saved [19079/19079]

 

   

解压下载包

 

[root@mail ~]# tar -zxvf mdirolf-nginx-gridfs-v0.8-11-ge5d8cc7.tar.gz

   

下载mongodb驱动

 

[root@mfs2 ~]# wget https://nodeload.github.com/mongodb/mongo-c-driver/tarball/master

--19:37:12--  https://nodeload.github.com/mongodb/mongo-c-driver/tarball/master

           => `master'

Resolving nodeload.github.com... 207.97.227.252

Connecting to nodeload.github.com[207.97.227.252]:443... connected.

HTTP request sent, awaiting response... 200 OK

Length: 77,331 [application/octet-stream]

 

100%[===============================>] 77,331        57.55K/s            

 

19:37:19 (57.47 KB/s) - `master' saved [77,331/77,331]

  

错误的保存为 master,因此需要重命名:

 

[root@mfs2 ~]# mv master mongodb-mongo-c-driver-v0.4-17-g68aa48e.tar.gz

   

解压数据包

 

[root@mfs2 ~]# tar -zxvf mongodb-mongo-c-driver-v0.4-17-g68aa48e.tar.gz

   

将mongodb数据库驱动移动到nginx-gridfs模块下面的mongo-c-driver/目录

 

   

[root@mfs2 mongodb-mongo-c-driver-68aa48e]# mv  ./* /root/   \

> mdirolf-nginx-gridfs-e5d8cc7/mongo-c-driver/

 

编译安装

 

[root@mfs2 nginx-1.0.10]# ./configure --prefix=/usr/local/nginx-1.0.10-gridfs  \

> --add-module=/root/mdirolf-nginx-gridfs-e5d8cc7

   

 

注意:

 

    如果在make时产生以下错误而停止编译:

 

cc1: warnings being treated as errors

   

那么找到Makefile文件,将 -Werror 选项删除就可以了

 

配置示例

 

例1、

 

location /gridfs/ {

    gridfs my_app;

}

   

例2、

 

location /gridfs/ {

    gridfs my_app field=filename type=string;

    mongo 127.0.0.1:27017;

}

   

例3、

 

location /gridfs/ {

    gridfs my_app field=filename type=string;

    mongo "foo"

          10.7.2.27:27017

          10.7.2.28:27017;

}

   

例4、

 

location /gridfs/ {

    gridfs my_app

           root_collection=pics

           field=_id

           type=int

           user=foo

           pass=bar;

    mongo 127.0.0.1:27017;

}

   


原创粉丝点击