一) 缘由

因为公司业务需要,需要搭建图片服务器,需求很简单:读取+上传图片,当时第一考虑用nginx来作,但考虑到单纯用nginx来作,无法水平扩展和管理,一旦遇到海量图片,就无办法 扩展。所以考虑用文件系统来做,综合考虑最终选择用nginx+gridfs+mongodb,mongodb适用于小文件管理,而且可以分片集群,对后期维护和扩展很有帮助。

二) 环境搭建

2.1) 下载nginx1.6.0 stable版本

wget http://nginx.org/download/nginx-1.6.0.tar.gz
tar zxvf nginx-1.6.0.tar.gz

2.2) 下载gridfs-nginx 模块
git clone git://github.com/mdirolf/nginx-gridfs.git

2.3) 下载mongo-c-driver(/user/loucal/下)

git clone https://github.com/eagleas/mongo-c-driver.git

2.4) 拷贝mongo-c-driver至nginx-gridfs下
cp mongo-c_driver nginx-gridfs

2.5) 下载perl

a) 下载地址:http://sourceforge.net/projects/pcre/files/pcre/

pcre http://www.pcre.org

zlib http://www.zlib.net

openssl http://www.openssl.org

b)   将这三个包装在/usr/loucl/下

make && make install

2.6) 配置、安装nginx(红色字体注意修改路径)

a) ./configure --prefix=/usr/local/nginx --with-pcre=../pcre-8.34 --with-http_ssl_module --with-http_stub_status_module --with-http_flv_module --with-http_gzip_static_module --add-module=../nginx-gridfs --with-poll_module --without-select_module --with-http_realip_module --with-cc-opt=-Wno-error
--with-zlib=../zlib-1.2.8 --with-openssl=/usr/bin/openssl

./nginx -V 查看参数

b) make -j8

c) make install

三)下载mongodb2.4.10安装及启动

1) rpm包下载、安装、运行

1.1) 下载地址:http://downloads-distro.mongodb.org/repo

server版:mongo-10gen-server-版本号

client版:mongo-10gen-版本号

1.2) 安装
rpm -ivh 包.rpm
1.3 添加自启动项

1.3.1) 配置自启动法

a) 修改/etc/mongo.conf

自定义log、db路径
b) vim /etc/rc.local

添加 mongod --config /etc/mongo.conf

1.3.2) 命令启动法

a) 修改/etc/rc.local

mongod --dbpath=/usr/local/mongodb/data --logpath=/usr/local/mongodb/logs/mongodb.log --logappend --port=27017 --fork

四)配置nginx中的gridfs
4.1) 在/usr/lcoal/nginx/conf/nginx.conf 添加如下内容:

在server项下增加
location /img/ {
gridfs testimg field=filename type=string;
mongo 10.143.111.12:27017;
}

五) 上传图片至mongodb

sudo mongofiles put --host localhost --port 27017 --db images --local /home/1.jpg --type jpg

http://10.143.47.20/img/kongtiaolengmei.png

六) 测试图片上传是否成功

6.1) 启动nginx并在浏览器打开 http://localhost/pics/1.jpg 如果能打开,证明配置正确且上传成功

centos6.5 搭建nginx1.6.0 +gridfs +mongodb2.4..10环境的更多相关文章

  1. 腾讯云服务器 Centos6.5 安装 nginx1.12.0

    今天买了腾讯云,不要问我为什么没有买阿里云... 入正题: 如果出现 CentOS ping: unknown host 的话,表示没有配置dns vim /etc/sysconfig/network ...

  2. centos6.5安装nginx1.16.0

    参考:   centos7 编译安装nginx1.16.0( 完整版 ) https://blog.csdn.net/weixin_37773766/article/details/80290939  ...

  3. Linux CentOS6.5安装Nginx1.8.0

    一. 安装nginx 1. 准备1.8.0安装包 nginx-1.8.0.tar.gz 2. 安装第三方依赖 yum install gcc-c++ yum install -y pcre pcre- ...

  4. centos6.5 nginx-1.8.0和ftp搭建图片服务器

    一.Nginx的安装步骤 1.Nginx安装环境: gcc: 安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装gcc:yum install gcc-c+ ...

  5. centos6.4搭建knowlededgeroot-1.0.4知识库平台

    知识库平台选择 http://www.oschina.net/project/tag/320/pkm 最近接到一个任务,要求搭建一个用于部门内部业务知识规范管理和共享的平台,目的是把部门内的FAQ知识 ...

  6. 开源知识库管理系统选型 centos6.4 搭建knowlededgeroot-1.0.4知识库平台

    开源知识库管理系统选型,除了使用wiki外,还有下面可选: http://www.knowledgebase-script.com/ https://github.com/lordlamer/know ...

  7. CentOS6.7上安装nginx1.8.0

    主题: CentOS6.7上安装nginx1.8.0 环境准备: 1.gcc-c++ 示例:yum install gcc-c++ 安装:gcc-c++ gcc-c++编译工具 2.PCRE(Perl ...

  8. CentOS6.7安装部署LNMP(nginx1.8.0+php5.6.10+mysql5.6.12)

    IP-10.0.0.8 1.安装nginx mkdir -p /server/tools cd /server/tools yum install -y pcre pcre-devel openssl ...

  9. CentOS6.9部署Redis3.2.9+FastDFS_4.06+Nginx1.5.0

    CentOS6.9部署Redis3.2.9+FastDFS_4.06+Nginx1.5.0 原文链接:https://www.toutiao.com/i6481931577499582990/ 一.上 ...

随机推荐

  1. java.lang.IllegalAccessError: tried to access field org.slf4j.impl.StaticLoggerBinder.SINGLETON from class org.slf4j.LoggerFactory

    java.lang.IllegalAccessError: tried to access field org.slf4j.impl.Static.. java.lang.IllegalAccessE ...

  2. 编译预处理 -- 带参数的宏定义--【sky原创】

    原文:编译预处理 -- 带参数的宏定义--[sky原创] 如有转载请注明出处   编译预处理  --  带参数的宏定义 前面为输出文件,后面为输入文件 gcc -E -o test.i test.c ...

  3. Backup and Recovery Strategies1

    2.1.Data Recovery Strategy Determines Backup Strategy 在设计备份策略.如若数据恢复需求和数据恢复战略启动.每种类型的数据恢复需要你采取相应的备份类 ...

  4. 基于科大讯飞语音云windows平台开发

    前记: 前段时间公司没事干,突发奇想想做一个语音识别系统,看起来应该非常easy的,但做起来却是各种问题,这个对电气毕业的我,却是挺为难的.谷姐已经离我们而去,感谢度娘,感谢CSDN各位大神,好歹也做 ...

  5. jmeter参数化之CSV Data Set Config

    在jmeter中,可以用CSV Data Set Config实现参数化. 1.准备参数化数据

  6. windows下使用pthread

    有的时候需要使用多线程来测试代码啥的,在Linux下有pthread,在windows也有. 我这儿是使用MingW作为编译工具,具体如何下载MingW自行在网上搜索. 而pthread是在这里下载的 ...

  7. 使用QT来制作串口终端

    为什么要使用QT,因为它是跨平台的. 我现在使用的环境是Win7 64bit,使用VS的编译器来编译QT工程. 安装这套环境简单说一下:先到QT官网下载qt-windows-opensource-5. ...

  8. 将Model实体类对象作为WebService接口参数(转)

    转自:http://www.cnblogs.com/fengyishou/archive/2009/02/27/1399281.html 关于web服务的有关基础知识,看了基本书,但是不敢在这里乱说, ...

  9. [转]ANDROID 探究oom内幕

    从早期G1的192MB RAM开始,到现在动辄1G -2G RAM的设备,为单个App分配的内存从16MB到48MB甚至更多,但OOM从不曾离我们远去.这是因为大部分App中图片内容占据了50%甚至7 ...

  10. 使用UpdatePanel控件

    使用UpdatePanel控件(二) UpdatePanel可以用来创建丰富的局部更新Web应用程序,它是ASP.NET 2.0 AJAX Extensions中很重要的一个控件,其强大之处在于不用编 ...