热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Linux系统安装MongoDB数据库及PHP驱动扩展模块

MongoDB名字来源与单词:“humongous”),它是一个可扩展性,高性能,开源NoSQL数据库,源代码是C++编写的。MongoDB的特点有:1、文件存储格式为BSON(一种JSON的扩展)2、支持全文索引(点击查看文章)3、高可用性,支持主从,可创建多个镜像4、自动处理碎
MongoDB名字来源与单词:“humongous”) ,它是一个可扩展性,高性能,开源NoSQL数据库,源代码是C++编写的。

MongoDB的特点有:
1、文件存储格式为BSON(一种JSON的扩展)
2、支持全文索引(点击查看文章) 3、高可用性,支持主从,可创建多个镜像
4、自动处理碎片,以支持云计算层次的扩展性
5、支持的查询语言非常强大,其语法有点类似于面向对象的查询语言
6、模式自由,不需要知道它的任何结构定义,可以把不同结构的文件存储在同一个数据库里。
7、跨平台应用,支持RUBY,PYTHON,JAVA,C++,PHP等多种语言,推荐运行在64位平台,
因为MongoDB在32位模式运行时支持的最大文件尺寸为2GB。

MongoDB安装
32位linux系统
[root@localhost package]# wget http://downloads.mongodb.org/linux/mongodb-linux-i686-1.6.4.tgz
名字有点长,看了有点不舒服 改下:
[root@localhost package]# mv mongodb-linux-i686-1.6.4.tgz mongodb.tgz
[root@localhost package]# tar zxvf mongodb.tgz
64位linux系统
下载地址为:http://downloads.mongodb.org/linux/mongodb-linux-x86_64-1.6.4.tgz
如果你的系统是64位改为这个源码包(推荐64位系统)
创建存储目录:
[root@localhost package]# mkdir /data/db
解压出来的名字还是有点长,修改下:
[root@localhost package]# mv mongodb-linux-i686-1.6.4 mongodb
[root@localhost package]# cd mongodb
[root@localhost mongodb]# bin/mongod  (启动服务)
开始另一个终端,测试是否启动成功
[root@localhost package]# cd mongodb
[root@localhost mongodb]# bin/mongo
MongoDB shell version: 1.6.4
connecting to: test
> db.foo.save({a : 1})
> db.foo.find()
{ "_id" : ObjectId("4f4f20eeba7e706b4698c1d0"), "a" : 1 }
>
Ok 测试成功

mongoDB使用

重新建立mongoDB目录
[root@localhost mongodb]# mkdir /data/mongodb/db -p
[root@localhost mongodb]# mkdir /data/mongodb/logs -p

后台启动
[root@localhost mongodb]# bin/mongod --dbpath /data/mongodb/db/ --logpath /data/mongodb/logs/mongolog --logappend --fork

参数说明
--dbpath            #指定db文件存放的目录
--port              #指定mongod服务使用的端口
--fork              #设置mongo服务为后台运行
--logpath           #指定log文件的目录和文件名
--logappend         #设置每次log添加在文件最后
--rest              #关闭rest api功能
--nohttpinterface   #关闭web管理功能
--auth              #指定mongo使用身份验证机制
--bindip            #用逗号分隔ip地址,用来指定
--f                 #将所有前面介绍的参数都可以存放到一个配置文件中,然后用这个参数调用配置文件来启动mongod服务
命令使用介绍
> help
        db.help()                    help on db methods
        db.mycoll.help()             help on collection methods
        rs.help()                    help on replica set methods
        help connect                 connecting to a db help
        help admin                   administrative help
        help misc                    misc things to know
        show dbs                     show database names
        show collections             show collections in current database
        show users                   show users in current database
        show profile                 show most recent system.profile entries with time >= 1ms
        use                 set current database
        db.foo.find()                list objects in collection foo
        db.foo.find( { a : 1 } )     list objects in foo where a == 1
        it                           result of the last line evaluated; use to further iterate
        exit                         quit the mongo shell
>
SQL 与 MongoDB比较查看:http://www.mongodb.org/display/DOCS/SQL+to+Mongo+Mapping+Chart

MongoDB PHP扩展组件安装

如果你的WEB服务器是yum搭建的可以使用以下命令(一般不这么安装)
[root@localhost ~]#  yum install php-dev php-cli php-pear-dev php-cli php-pear
[root@localhost ~]# pecl install mongo
自行源码编译的环境 安装如下(本人使用的是这种方式)
源码下载地址:https://github.com/mongodb/mongo-php-driver/downloads  (linux上要以tar.gz形式下载)
如若无法打开可以找我获取 QQ:429240967

安装命令
[root@localhost package]# tar -zxvf mongodb-mongo-php-driver-1.2.9-112-gb9d5a08.tar.gz
[root@localhost package]# cd mongodb-mongo-php-driver-b9d5a08

找到自己安装的phpize(根据自己安装目录确定)
[root@localhost mongodb-mongo-php-driver-b9d5a08]# /usr/local/php/bin/phpize
[root@localhost mongodb-mongo-php-driver-b9d5a08]# ./configure --enable-mOngo=share --with-php-cOnfig=/usr/local/php/bin/php-config
[root@localhost mongodb-mongo-php-driver-b9d5a08]# make && make install

最后出现的提示
Build complete.
Don't forget to run 'make test'.
Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/
说明安装成功 接下来配置php.ini

编辑php.ini 加入
[MongoDB]
extension=mongo.so

重启php-fpm
pkill php-fpm
/usr/local/php/sbin/php-fpm

推荐阅读
  • 本文探讨了Go语言(Golang)的学习价值及其在Web开发领域的应用潜力,包括其独特的语言特性和为什么它是现代软件开发的理想选择。 ... [详细]
  • MongoDB的核心特性与架构解析
    本文深入探讨了MongoDB的核心特性,包括其强大的查询语言、灵活的文档模型以及高效的索引机制。此外,还详细介绍了MongoDB的体系结构,解释了其文档、集合和数据库的层次关系,并对比了MongoDB与传统关系型数据库(如MySQL)的逻辑结构。 ... [详细]
  • PHP服务器搭建的重要性及方法
    本文深入探讨了为什么在开发PHP应用之前需要搭建服务器环境,以及如何选择和搭建适合的PHP服务器。 ... [详细]
  • 本文探讨了缓存系统中的两个关键问题——缓存穿透与缓存失效时的雪崩效应,以及这些问题的解决方案。此外,文章还介绍了数据处理、数据库拆分策略、缓存优化、拆分策略、应用架构演进及通信协议的选择等内容。 ... [详细]
  • 本文回顾了作者在求职阿里和腾讯实习生过程中,从最初的迷茫到最后成功获得Offer的心路历程。文中不仅分享了个人的面试经历,还提供了宝贵的面试准备建议和技巧。 ... [详细]
  • CentOS7源码编译安装MySQL5.6
    2019独角兽企业重金招聘Python工程师标准一、先在cmake官网下个最新的cmake源码包cmake官网:https:www.cmake.org如此时最新 ... [详细]
  • 在哈佛大学商学院举行的Cyberposium大会上,专家们深入探讨了开源软件的崛起及其对企业市场的影响。会议指出,开源软件不仅为企业提供了新的增长机会,还促进了软件质量的提升和创新。 ... [详细]
  • Composer Registry Manager:PHP的源切换管理工具
    本文介绍了一个用于Composer的源切换管理工具——Composer Registry Manager。该项目旨在简化Composer包源的管理和切换,避免与常见的CRM系统混淆,并提供了详细的安装和使用指南。 ... [详细]
  • 深入解析JMeter中的JSON提取器及其应用
    本文详细介绍了如何在JMeter中使用JSON提取器来获取和处理API响应中的数据。特别是在需要将一个接口返回的数据作为下一个接口的输入时,JSON提取器是一个非常有用的工具。 ... [详细]
  • 选择适合生产环境的Docker存储驱动
    本文旨在探讨如何在生产环境中选择合适的Docker存储驱动,并详细介绍不同Linux发行版下的配置方法。通过参考官方文档和兼容性矩阵,提供实用的操作指南。 ... [详细]
  • 探讨了如何解决Ajax请求响应时间过长的问题。本文分析了一个从服务器获取少量数据的Ajax请求,尽管服务器已经对JSON响应进行了缓存,但实际响应时间仍然不稳定。 ... [详细]
  • 深入分析十大PHP开发框架
    随着PHP技术的发展,各类开发框架层出不穷,成为了开发者们热议的话题。本文将详细介绍并对比十款主流的PHP开发框架,旨在帮助开发者根据自身需求选择最合适的工具。 ... [详细]
  • 探讨在同时运行 Rails 3 和 Rails 4 的环境中,如何有效地管理和同步 Sprockets 清单文件,以支持无中断的资产加载及回滚功能。 ... [详细]
  • Windows 平台 Ruby on Rails 安装指南
    本文详细介绍如何在 Windows 系统上安装 Ruby 及其开发框架 Rails,包括必要的环境配置和组件安装。 ... [详细]
  • 本文实例为大家分享了Python实现代码统计工具的具体代码,供大家参考,具体内容如下思路:首先获取所有文件,然后统计每个文 ... [详细]
author-avatar
手机用户2502927973
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有