用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能打开图片就说明成功了

用nginx-gridFS读取MongoDB的图片,布布扣,bubuko.com

时间: 2024-08-07 21:19:00

用nginx-gridFS读取MongoDB的图片的相关文章

用nginx-gridFS读取MongoDB的图片及文件(为什么你老是配不成功?)

最近在部署公司服务器的nginx + mongodb + gridfs环境: 搜索了N多文档,基本上都一样,期间遇到很多问题: 下面是整理的一份搭建文档: 摘要 nginx-gridfs是一个nginx的扩展模块,用于支持直接访问MongoDB的GridFS文件系统上的文件并提供 HTTP 访问. 一.安装mongodb MongoDB在linux下是无需安装的,从官网上下载下安装包后解压,直接执行mongod,就可以启动MongoDB服务器,当然mongod还有很多的启动选择项,运行mongo

PHP操作MongoDB GridFS 存储文件,如图片文件

GridFS是MongoDB的一个内置功能,它提供一组文件操作的API以利用MongoDB存储文件,GridFS的基本原理是将文件保存在两个Collection中,一个保存文件索引,一个保存文件内容,文件内容按一定大小分成若干块,每一块存在一个Document中,这种方法不仅提供了文件存储,还提供了对文件相关的一些附加属性(比如MD5值,文件名等等)的存储. 01 <?php 02 // 初始化gridfs 03 $conn = new Mongo(); // 连接MongoDB 04 $db

【荐】PHP操作MongoDB GridFS 存储文件,如图片文件

GridFS是MongoDB的一个内置功能,它提供一组文件操作的API以利用MongoDB存储文件,GridFS的基本原理是将文件保存在两个Collection中,一个保存文件索引,一个保存文件内容,文件内容按一定大小分成若干块,每一块存在一个Document中,这种方法不仅提供了文件存储,还提供了对文件相关的一些附加属性(比如MD5值,文件名等等)的存储. <?php // 初始化gridfs $conn = new Mongo(); // 连接MongoDB $db = $conn->ph

PHP读取京东商品图片

根据京东的商品链接取出商品图片 <?php $file_path='http://item.jd.com/1163375.html'; $file_path='http://item.jd.com/11316517.html'; $str=file_get_contents($file_path); $substr=strstr($str,'<img data-img="1" width="350"'); if(strlen($substr)==0){

Mogilefs分布式文件系统-Keepalived+Nginx双主模型实现图片分布式存储、访问

一.分布式文件系统: 分布式文件系统(Distributed File System)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连.计算机通过文件系统管理.存储数据,单纯通过增加硬盘个数来扩展计算机文件系统的存储容量的方式,在容量大小.容量增长速度.数据备份.数据安全等方面的表现都差强人意. 分布式文件系统可以有效解决数据的存储和管理难题:将固定于某个地点的某个文件系统,扩展到任意多个地点/多个文件系统,众多的节点组成一个文件系统网络.每个节点可以分布在

(springmvc)从oracle读取blob类型图片并在jsp中显示

最近工作中遇到从数据库中读取blob类型的图片,并在页面显示的问题,想了下,大概有两种方式,一是将数据转换成文件,保存在本地,然后将文件地址传到前台页面,读取保存的图片文件:二是将文件转换成数据流,直接在页面显示,我觉得第二个方法比较简单,而且处理速度更快点.下面我将我的操作过程记录下来,给大家一个参考. 思路.步骤: 1:从数据库读取blob图片 2:转换成数据流 3:显示在页面 首先,我们在springmvc中建立一个controller方法 @RequestMapping("/toolUt

java读取远程url图片,得到宽高

链接地址:http://blog.sina.com.cn/s/blog_407a68fc0100nrb6.html import java.io.IOException;import java.awt.image.BufferedImage;import java.net.URL;import java.io.BufferedInputStream;import java.io.OutputStream;import java.io.FileOutputStream;import java.io

mp3 音频 音乐 tag ID3 ID3V1 ID3V2 标签 读取信息 获得图片 jpeg bmp 图片转换等

mp3 音频 音乐 tag ID3 ID3V1 ID3V2 标签 读取信息 获得图片 jpeg bmp 图片转换(上) MP3文件格式(二)---ID3v2 图:ID3V1标签结构 图:ID3V2标签结构 图:ID3V2头结构 图:ID3V2帧头结构 1.帧标识  用四个字符标识一个帧,说明一个帧的内容含义,常用的对照如下:  TIT2=标题 表示内容为这首歌的标题,下同  TPE1=作者  TALB=专集  TRCK=音轨 格式:N/M  其中N为专集中的第N首,M为专集中共M首,N和M为AS

nginx+play framework +mongoDB+redis +mysql+LBS实战总结

nginx+play framework +mongoDB+redis +mysql+LBS实战总结(一) 使用这个样的组合结构已经很久了,主要是实现web-server,不是做网站,二是纯粹的数据服务server.早就想总结一下,一直没有时间,最近也是一而再再而三的解决了使用途中的各种问题,从此片开始到之后悔慢慢的将这些经验教训总结下来,一边自己和朋友们借鉴使用.此片算是开篇吧,首先对这几种技术或者说平台做简单的介绍吧,顺便推荐一些文章给大家. nginx:本身是一个web server ,在