nginx+gridfs+mongodb分布式图片存储系统

简介:

1.下载安装mongodb文档数据库

[root@node2 ~]# wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.0.7.tgz

[root@node2 ~]# tar xvf mongodb-linux-x86_64-rhel62-3.0.7.tgz

[root@node2 ~]# mv mongodb-linux-x86_64-rhel62-3.0.7 /usr/local/mongodb-3.0.7

[root@node2 ~]# /usr/local/mongodb-3.0.7/bin/mongod --dbpath=/usr/local/mongodb-3.0.7/data --logpath=/usr/local/mongodb-3.0.7/logs/mongod.log --port=27017 --logappend --fork


2.下载安装nginx和gridfs

gridfs下载地址:http://pan.baidu.com/s/1mgpiOmG

[root@node2 ~]# wget http://nginx.org/download/nginx-1.4.7.tar.gz

[root@node2 ~]# tar xvf nginx-gridfs.tar.gz 

[root@node2 ~]# tar xvf nginx-1.4.7.tar.gz

[root@node2 ~]# ./configure --prefix=/usr/local/nginx-1.4.7 --with-pcre=/usr/local/pcre-8.37 --with-http_stub_status_module  --with-poll_module --add-module=/root/nginx-gridfs  --user=www --group=www

[root@node2 ~]# make && make install

vim /usr/local/nginx-1.4.7/conf/nginx.conf

       location /abc/ {

            gridfs my_app root_collection=fs field=filename type=string;  --my_app是mongodb中的数据库,root_collection是表的前缀,field是文件,type是存储文件的类型

            mongo 127.0.0.1:27017;   --mongodb的IP和端口

        }


3.在mongodb中创建数据库

/usr/local/mongodb-3.0.7/bin/mongo

    use my_app;            --创建数据库就可以了,创建后必须写入数据才能生效


4.上传图片

/usr/local/mongodb-3.0.7/bin/mongofiles put 12.png  -h127.0.0.1:27017 -d my_app -t png 

put         --是上传

12.png       --是上的文件

my_app      --mongodb的数据库

png        --文件类型

[root@node2 ~]# /usr/local/mongodb-3.0.7/bin/mongofiles list -d my_app

2015-11-17T15:45:04.413+0800connected to: localhost

13.jpg109481

12.png490834

15.png210592

[root@node2 ~]# 


5.访问图片的地址

wKiom1ZK2weQEk3HAAhFkNcJnyg004.png



错误记录:

2015/11/17 14:21:45 [emerg] 31441#0: *7 malloc(18446744056529682432) failed (12: Cannot allocate memory)


解决方法:

  是mongodb的问题,重新安装下mongodb或者下功较低的版本.










本文转自 z597011036 51CTO博客,原文链接:http://blog.51cto.com/tongcheng/1713509,如需转载请自行联系原作者
目录
相关文章
|
Kubernetes 大数据 调度
Airflow vs Argo Workflows:分布式任务调度系统的“华山论剑”
本文对比了Apache Airflow与Argo Workflows两大分布式任务调度系统。两者均支持复杂的DAG任务编排、社区支持及任务调度功能,且具备优秀的用户界面。Airflow以Python为核心语言,适合数据科学家使用,拥有丰富的Operator库和云服务集成能力;而Argo Workflows基于Kubernetes设计,支持YAML和Python双语定义工作流,具备轻量化、高性能并发调度的优势,并通过Kubernetes的RBAC机制实现多用户隔离。在大数据和AI场景中,Airflow擅长结合云厂商服务,Argo则更适配Kubernetes生态下的深度集成。
1532 34
|
存储 NoSQL 前端开发
【赵渝强老师】MongoDB的分布式存储架构
MongoDB分片通过将数据分布到多台服务器,实现海量数据的高效存储与读写。其架构包含路由、配置服务器和分片服务器,支持水平扩展,结合复制集保障高可用性,适用于大规模生产环境。
746 1
|
存储 算法 安全
“卧槽,系统又崩了!”——别慌,这也许是你看过最通俗易懂的分布式入门
本文深入解析分布式系统核心机制:数据分片与冗余副本实现扩展与高可用,租约、多数派及Gossip协议保障一致性与容错。探讨节点故障、网络延迟等挑战,揭示CFT/BFT容错原理,剖析规模与性能关系,为构建可靠分布式系统提供理论支撑。
597 2
|
存储 NoSQL MongoDB
MongoDB数据库详解-针对大型分布式项目采用的原因以及基础原理和发展-卓伊凡|贝贝|莉莉
MongoDB数据库详解-针对大型分布式项目采用的原因以及基础原理和发展-卓伊凡|贝贝|莉莉
526 8
MongoDB数据库详解-针对大型分布式项目采用的原因以及基础原理和发展-卓伊凡|贝贝|莉莉
|
机器学习/深度学习 算法 安全
新型电力系统下多分布式电源接入配电网承载力评估方法研究(Matlab代码实现)
新型电力系统下多分布式电源接入配电网承载力评估方法研究(Matlab代码实现)
365 3
|
数据采集 缓存 NoSQL
分布式新闻数据采集系统的同步效率优化实战
本文介绍了一个针对高频新闻站点的分布式爬虫系统优化方案。通过引入异步任务机制、本地缓存池、Redis pipeline 批量写入及身份池策略,系统采集效率提升近两倍,数据同步延迟显著降低,实现了分钟级热点追踪能力,为实时舆情监控与分析提供了高效、稳定的数据支持。
624 1
分布式新闻数据采集系统的同步效率优化实战
|
存储 运维 安全
盘古分布式存储系统的稳定性实践
本文介绍了阿里云飞天盘古分布式存储系统的稳定性实践。盘古作为阿里云的核心组件,支撑了阿里巴巴集团的众多业务,确保数据高可靠性、系统高可用性和安全生产运维是其关键目标。文章详细探讨了数据不丢不错、系统高可用性的实现方法,以及通过故障演练、自动化发布和健康检查等手段保障生产安全。总结指出,稳定性是一项系统工程,需要持续迭代演进,盘古经过十年以上的线上锤炼,积累了丰富的实践经验。
1681 7
|
存储 分布式计算 Hadoop
基于Java的Hadoop文件处理系统:高效分布式数据解析与存储
本文介绍了如何借鉴Hadoop的设计思想,使用Java实现其核心功能MapReduce,解决海量数据处理问题。通过类比图书馆管理系统,详细解释了Hadoop的两大组件:HDFS(分布式文件系统)和MapReduce(分布式计算模型)。具体实现了单词统计任务,并扩展支持CSV和JSON格式的数据解析。为了提升性能,引入了Combiner减少中间数据传输,以及自定义Partitioner解决数据倾斜问题。最后总结了Hadoop在大数据处理中的重要性,鼓励Java开发者学习Hadoop以拓展技术边界。
721 7
|
存储 NoSQL Linux
微服务2——MongoDB单机部署4——Linux系统中的安装启动和连接
本节主要介绍了在Linux系统中安装、启动和连接MongoDB的详细步骤。首先从官网下载MongoDB压缩包并解压至指定目录,接着创建数据和日志存储目录,并配置`mongod.conf`文件以设定日志路径、数据存储路径及绑定IP等参数。之后通过配置文件启动MongoDB服务,并使用`mongo`命令或Compass工具进行连接测试。此外,还提供了防火墙配置建议以及服务停止的两种方法:快速关闭(直接杀死进程)和标准关闭(通过客户端命令安全关闭)。最后补充了数据损坏时的修复操作,确保数据库的稳定运行。
966 0
|
机器学习/深度学习 存储 运维
分布式机器学习系统:设计原理、优化策略与实践经验
本文详细探讨了分布式机器学习系统的发展现状与挑战,重点分析了数据并行、模型并行等核心训练范式,以及参数服务器、优化器等关键组件的设计与实现。文章还深入讨论了混合精度训练、梯度累积、ZeRO优化器等高级特性,旨在提供一套全面的技术解决方案,以应对超大规模模型训练中的计算、存储及通信挑战。
1072 4

推荐镜像

更多