热门标签 | 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

推荐阅读
  • Allegro总结:1.防焊层(SolderMask):又称绿油层,PCB非布线层,用于制成丝网印板,将不需要焊接的地方涂上防焊剂.在防焊层上预留的焊盘大小要比实际的焊盘大一些,其差值一般 ... [详细]
  • 开发笔记:Python之路第一篇:初识Python
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Python之路第一篇:初识Python相关的知识,希望对你有一定的参考价值。Python简介& ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 本文介绍了RPC框架Thrift的安装环境变量配置与第一个实例,讲解了RPC的概念以及如何解决跨语言、c++客户端、web服务端、远程调用等需求。Thrift开发方便上手快,性能和稳定性也不错,适合初学者学习和使用。 ... [详细]
  • 1、概述首先和大家一起回顾一下Java消息服务,在我之前的博客《Java消息队列-JMS概述》中,我为大家分析了:然后在另一篇博客《Java消息队列-ActiveMq实战》中 ... [详细]
  • 让你明白kvm是什么
    参考:https:blog.csdn.netbbwangjarticledetails80465320KVM工具集合:libvirt:操作和管理KVM虚机的虚拟化API ... [详细]
  • ruby 输出彩色内容到控制台
    程序输出控制台时,为了区分输出信息的严重程度,可以使用颜色、符号等来做标识。ruby也支持设置输出内容的颜色,比如运行以下代码:以下内容是百度到的,因发现很多博客都是同样的写法,所 ... [详细]
  • 《Python3 网络爬虫开发实战》:高效实用的 MongoDB 文档存储
    NoSQL,全称NotOnlySQL,意为不仅仅是SQL,泛指非关系型数据库。NoSQL是基于键值对的,而且不需要经过SQL ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 使用正则表达式爬取36Kr网站首页新闻的操作步骤和代码示例
    本文介绍了使用正则表达式来爬取36Kr网站首页所有新闻的操作步骤和代码示例。通过访问网站、查找关键词、编写代码等步骤,可以获取到网站首页的新闻数据。代码示例使用Python编写,并使用正则表达式来提取所需的数据。详细的操作步骤和代码示例可以参考本文内容。 ... [详细]
  • 本文介绍了Composer依赖管理的重要性及使用方法。对于现代语言而言,包管理器是标配,而Composer作为PHP的包管理器,解决了PEAR的问题,并且使用简单,方便提交自己的包。文章还提到了使用Composer能够避免各种include的问题,避免命名空间冲突,并且能够方便地安装升级扩展包。 ... [详细]
  • 本文介绍了如何使用jQuery和AJAX来实现动态更新两个div的方法。通过调用PHP文件并返回JSON字符串,可以将不同的文本分别插入到两个div中,从而实现页面的动态更新。 ... [详细]
  • Mono为何能跨平台
    概念JIT编译(JITcompilation),运行时需要代码时,将Microsoft中间语言(MSIL)转换为机器码的编译。CLR(CommonLa ... [详细]
  • hackingTeam是如何被黑的
    hackingTeam是如何被黑的 ... [详细]
  • 目录一、MySQL数据库1.简介2.用管理员身份登录3.密码相关操作4.SQL与NoSQL5.数据库重要概念二、MySQL基本语句1.基于库的增删改查2.基于表的增删改查3.基于记 ... [详细]
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社区 版权所有