Nginx訪問MongoDB

nginx_web發表於2012-06-06
Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4

    MongoDB在網站中使用較多,主要使用它來儲存靜態檔案,例如影像檔案,因此在這一講我們將來認識一下nginx-gridfs模組,使用該模組來實現對MongoDB的訪問,實際上就是MongoDB的客戶端。在具體的安裝中要注意它和資料庫驅動的版本問題,有時候不是很好安裝。

 

安裝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;

}

   

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/27043155/viewspace-732084/,如需轉載,請註明出處,否則將追究法律責任。

相關文章