`

nginx 代理 mongodb的 GridFS

阅读更多

参考:

      http://blog.snsgou.com/post-776.html

      http://blog.csdn.net/chen_jp/article/details/7934360      ---mongodb安装yum方式

 

      http://blog.csdn.net/kk185800961/article/details/45427367   ---yum安装3.0.2版本

首先下载相应的安装包:

Nginx1.7.8

http://nginx.org/download/nginx-1.7.8.tar.gz

 

pcre(支持Nginx地址重写)

ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.35.tar.gz

gzip(页面压缩)

http://zlib.net/zlib-1.2.8.tar.gz

openssl(https安全支持组件)

http://www.openssl.org/source/openssl-1.0.1h.tar.gz

(2)nginx-gridfs插件、MongoDB访问驱动 mongodb-mongo-c-driver

https://github.com/mdirolf/nginx-gridfs/archive/v0.8.tar.gz

https://github.com/mongodb/mongo-c-driver/archive/v0.3.1.tar.gz

#安装pcre库 进入你安装的目录:比如:/opt 

wget -c ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.35.tar.gz -O pcre-8.35.tar.gz

tar -xzvf ./pcre-8.35.tar.gz

cd pcre-8.35

./configure

make && make install

 

#安装zlib库

wget -c http://zlib.net/zlib-1.2.8.tar.gz -O zlib-1.2.8.tar.gz

tar -xzvf ./zlib-1.2.8.tar.gz

cd ./zlib-1.2.8

./configure

make && make install

 

#解压ssl

wget -c http://www.openssl.org/source/openssl-1.0.1h.tar.gz -O openssl-1.0.1h.tar.gz

tar -xzvf ./openssl-1.0.1h.tar.gz

 

#解压nginx-gridfs

wget -c https://github.com/mdirolf/nginx-gridfs/archive/v0.8.tar.gz -O nginx-gridfs-0.8.tar.gz

tar -xzvf ./nginx-gridfs-0.8.tar.gz

 

  #解压mongo-c-driver

wget -c https://github.com/mongodb/mongo-c-driver/archive/v0.3.1.tar.gz -O mongo-c-driver-0.3.1.tar.gz

tar -xzvf ./mongo-c-driver-0.3.1.tar.gz

mv ./mongo-c-driver-0.3.1/* ./nginx-gridfs-0.8/mongo-c-driver

 

#安装nginx   /opt目录

wget -c http://nginx.org/download/nginx-1.7.8.tar.gz -O nginx-1.7.8.tar.gz

tar -xzvf ./nginx-1.7.8.tar.gz

cd ./nginx-1.7.8

mkdir /opt/nginx

./configure --prefix=/opt/nginx  --with-http_stub_status_module --with-http_ssl_module --with-pcre=/opt/pcre-8.35 --with-zlib=/opt/zlib-1.2.8 --with-openssl=/opt/openssl-1.0.1h --add-module=/opt/nginx-gridfs-0.8

make && make install

 

此时当查看 

#./nginx -t 

显示:nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok

          nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

     则表示安装Nginx成功!

 

yum安装mongodb   (非yum安装则可以参考:http://www.qttc.net/201303298.html

http://www.qttc.net/201304299.html

  # cd /etc/yum.repos.d

  创建一个以repo结尾的文件

  # touch 10gen.repo     

  # vim 10gen.repo

  # cat 10gen.repo

 编辑10gen.repo文件 ,添加如下内容:

[mongodb-10gen]  

name=10gen Repository

baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64

gpgcheck=0

enabled=1

保存退出;

# yum list|grep mongo 将出现类似如下内容



 

进入root目录;运行命令安装:

# yum install mongo-10gen mongo-10gen-server  ;则如下图:

 

 选择:y

 依次下载相关的包:

 

 

# chkconfig --list|grep mongo     #查看一下mongo服务

# chkconfig mongod on     #开机启动 

# chkconfig --list|grep mongo  

# service mongod start    #启动mongodb 

# service mongod status  

# mongo   #连接测试,安装成功。

# exit       # 退出mongodb 命令模式

# service mongod stop       #因为是yum安装故,直接用服务启动就可以,千万不要用kill -9 PID 方式操作,会损坏mongodb。 

 

以后有更新了,停掉mongodb,执行yum update mongo-10gen mongo-10gen-server 即可。

 

服务器配置: /etc/mongod.conf

 

mongfiles 帮助命令

#mongofiles --help

 

上传文件到指定的数据库的集合,带用户名密码

#mongofiles -h 127.0.0.1 -d changhongeb -u changhongeb -p changhongeb -c imgs put e850352.gif

 

通过mongo 命令连接mongodb数据库

#mongo 127.0.0.1:27017/changhongeb -u changhongeb -p changhongeb

 

配置nginx-gridfs

 

# vim /opt/nginx/nginx.conf

在 server 节点中添加 location 节点

 

location /pics/ {

    gridfs  edusns

    root_collection=sns_attach

    field=filename

    type=string

    user=eduadmin

    pass=eduadmin$123;

    mongo  172.8.8.153:27017;

}

注意,如果不指定 field,默认为 MongoDB 的自增ID,且type为int

参数介绍:

gridfs:nginx识别插件的关键字

edusns:db名

[root_collection]: 选择collection,如root_collection=blog, mongod就会去找blog.files与blog.chunks两个块,默认是fs

[field]: 查询字段,保证mongdb里有这个字段名,支持_id, filename, 可省略, 默认是_id

[type]: 解释field的数据类型,支持objectid, int, string, 可省略, 默认是int

[user]: 用户名, 可省略

[pass]: 密码, 可省略

 

mongo: mongodb url

  • 大小: 88.7 KB
  • 大小: 95.8 KB
  • 大小: 100.2 KB
分享到:
评论

相关推荐

    nginx-gridfs-0.8.tar.gz

    《Nginx集成MongoDB GridFS模块详解》 在当今的Web开发中,Nginx作为一款高性能的HTTP和反向代理服务器,以其轻量级、高效稳定的特点被广泛使用。而MongoDB作为NoSQL数据库的代表,因其灵活的数据模型和强大的数据...

    Nginx与Nginx-GridFS的安装与配置

    Nginx-GridFS是Nginx的一个模块,用于提供对MongoDB的GridFS存储系统的直接访问,使得Web应用可以直接通过Nginx读取和存储MongoDB中的大文件,如图片、视频等。 首先,我们来了解一下Nginx的基本安装步骤: 1. **...

    nginx-gridfs

    **Nginx-GridFS** 是一个开源项目,它允许用户通过Nginx Web服务器直接访问存储在MongoDB中的文件,使用GridFS作为文件存储系统。这个解决方案将高性能的Nginx与MongoDB的分布式文件系统相结合,为大规模的静态内容...

    nginx-gridfs.tar.gz

    这个压缩包“nginx-gridfs.tar.gz”很可能包含了一个集成解决方案,将流行的Web服务器Nginx与MongoDB的GridFS功能相结合,从而提供高效、可扩展的文件服务。 MongoDB的GridFS设计为将大文件分割成多个小块,每个块...

    MongoDB-GridFS-test:从MongoDB GridFS下载文件的性能测试

    2,Nginx_GridFS 这是一个基于MongoDB C驱动程序的Nginx插件。 编译代码并安装我在此仓库中制作了一个快速,使用sudo运行它。 准备好Nginx之后,修改/usr/local/nginx/conf/nginx.conf下的配置文件(如果您没有更改...

    nginx-gridfs.tgz

    Nginx-GridFS允许通过Nginx直接代理到MongoDB的GridFS,从而实现快速、高效地分发大文件。 **Nginx介绍** Nginx是一款开源的高性能HTTP和反向代理服务器,以其事件驱动的异步非阻塞模型而闻名,这使得它在高并发...

    MongoDB+Nginx配置

    ### MongoDB+Nginx配置详解 #### 一、概述 在现代Web开发中,高效的数据存储与灵活的内容分发网络(CDN)对于提升用户体验至关重要...此外,对于Nginx来说,还需进一步配置虚拟主机、反向代理等功能来满足实际需求。

    linux nginx-gridfs

    Linux Nginx-GridFS是将MongoDB的GridFS存储系统与Nginx Web服务器集成的一种解决方案,用于高效地提供静态文件服务,如视频、图片等大文件的存储和访问。这种组合允许你在高流量环境下实现高性能的内容分发,特别...

    Nginx-gridfs插件安装

    Nginx是高性能的HTTP和反向代理服务器,而MongoDB是一个面向文档的数据库,适合存储非结构化数据。 2. **获取插件**: 你可以从GitHub或其他源代码仓库下载Nginx-gridfs插件的源代码。文件`nginx-gridfs`可能包含...

    centos下mongodb解压直接可用

    5. **配置Nginx**: Nginx是一个流行的HTTP服务器,可以作为MongoDB GridFS的反向代理。你需要在Nginx配置文件(如 `/etc/nginx/nginx.conf`)中添加一个新的location块,指向MongoDB的GridFS接口。 6. **MongoDB ...

    storage-gateway:适用于MongoDB GridFS的简单RESTful网关

    用于MongoDB GridFS的简单RESTful网关。 实现此网关的主要原因是过时的Nginx GridFS模块( )。 不幸的是,与编写用于访问GridFS的微服务相比,重新启动该项目似乎太困难了:) 安装 go install github....

    nginx-gridfs.zip

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

    mongodb-linux-x86_64-rhel70-3.0.15.tgz

    在描述中提到的"nginx+gridfs存储及查看图片方案"是将MongoDB的GridFS功能与Nginx web服务器结合,用于存储和检索大型文件,如图片。GridFS是MongoDB提供的一种分布式文件存储解决方案,它将大文件分成多个块...

    基于MongoDB的企业分布式图片服务系统设计与实现.pdf

    对于企业内部用户,则通过Nginx反向代理实现负载均衡,随机选择一台服务器响应请求。这种设计可以根据不同用户群体的不同需求,提供更优化的服务体验。 系统架构的设计与实现还涉及到数据的分布式存储以及应用层的...

    mongodb-php5.3.3-1.6.12.zip

    这个扩展使得PHP开发者能够充分利用MongoDB的特性,例如地理空间索引、TTL索引、聚合框架、MapReduce功能以及GridFS文件存储系统。 总之,"mongodb-php5.3.3-1.6.12.zip"是一个适用于PHP 5.3.3的MongoDB扩展,已经...

    MongoDB管理工具Rockmongo.pdf

    - **GridFS 支持**:GridFS 是 MongoDB 中用于存储大型文件的机制,Rockmongo 可以查看 GridFS 分块,下载文件。 - **安全措施**:通过设置不同的管理员权限,确保对 MongoDB 的操作得到适当控制。 总的来说,...

    文件服务器方案优缺点比较

    g) GridFS:基于MongoDB,具有其所有优点,但性能较低,不适合大量小图片存储。 4. 商业云服务器(如又拍云、七牛):提供便捷的云存储服务,但费用较高,数据安全性可能成为顾虑。 在选择文件服务器方案时,应...

    thunderfs:Thunderfs 是基于 Web 的临时文件共享服务。 您可以共享文件,并且可以不受限制地为任何人上传。 已共享的文件将在 10 分钟后自动删除。 您不必担心重要文件的共享链接留在互联网上

    MongoDB (gridfs) 安装 Thunderfs 操作系统 只要 Python 和 MongoDB 在该平台上可用,Thunderfs 应该可以在大多数 Unix、Linux、Mac、Mac Server 和 Windows 系统上运行。 $ yum 安装 git -y $ yum groupinstall ...

    RockMongo(MongoDB管理工具) 1.1.6

    •GridFS ◦查看分块 ◦下载文件 •更多好用的特征开发中 ... 快速安装: 1.下载安装包 2.解压到你的网站目录下 3.用编辑器打开config.php (1.0.5版本以前是index.php),修改host, port, admins等参数...

    web图片上传

    图片可能被存储在本地磁盘、云存储服务(如Amazon S3、阿里云OSS)或数据库(如MongoDB的GridFS)。选择合适的存储方式取决于性能、可扩展性和成本等因素。同时,为了提高访问速度,通常会采用CDN(Content Delivery ...

Global site tag (gtag.js) - Google Analytics