一) 缘由

因为公司业务需要,需要搭建图片服务器,需求很简单:读取+上传图片,当时第一考虑用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. IOS中TableView的用法

    一.UITableView 1.数据展示的条件 1> UITableView的所有数据都是由数据源(dataSource)提供的,所以要想在UITableView展示数据,必须设置UITable ...

  2. MVC模型部分验证

    ASP.NET MVC模型部分验证 在很多情况下,我们为了代码的复用可能会存在ViewModel共用的情形.比方说,web应用中常常会遇到的一个需求就是用户找回密码的功能.用户首先要验证通过验证邮箱( ...

  3. Installshield获取安装包版本的系统变量是IFX_PRODUCT_VERSION

    原文:Installshield获取安装包版本的系统变量是IFX_PRODUCT_VERSION Installshield获取安装包版本的系统变量为IFX_PRODUCT_VERSION 当笔记记下 ...

  4. JTAG应该如何接线

    下面是某个ARM9评估板的原理图: 注意: 1. Vref和Vtarget可以直接连在一起,由被调试板提供3.3V或5V电源: 2. nTRST,最好上拉: 3. TDI,最好上拉 4. TMS,最好 ...

  5. 清空SQL Server数据库中所有表数据的方法

    原文:清空SQL Server数据库中所有表数据的方法 其实删除数据库中数据的方法并不复杂,为什么我还要多此一举呢,一是我这里介绍的是删除数据库的所有数据,因为数据之间可能形成相互约束关系,删除操作可 ...

  6. VS2013中Python学习环境搭建

    VS2013中Python学习笔记[环境搭建] 前言 Python是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言. Python的设计具有很强的可读性,相比其他语言经常使用英文关键字, ...

  7. PHP中实现在数据库中的增、删、查、改

    其实要想在PHP中访问并获取到数据库中的数据其实并不难,下面我以例子为大家介绍: 首先,打开PHP软件和WampServer服务,确保在WampServer中的phpMyAdmin中有你要使用的数据表 ...

  8. 什么是umbraco

    在win7上部署umbraco Umbraco是一个开放源码的CMS内容管理系统,基于asp.net建立,使用mssql进行存储数据. 使用Umbraco ,设计师能创造出有效的XHTML标记模板和开 ...

  9. screen获取屏幕信息

    <script type="text/javascript" language="javascript"> document.write(" ...

  10. WCF、Web API、WCF REST、Web Service

    WCF.Web API.WCF REST.Web Service 区别 Web Service It is based on SOAP and return data in XML form. It ...