下载源码:(放到 /usr/local/src 目录下)

到官网 http://www.mongodb.org/downloads 下载源码

https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.2.7.tgz (64位)

https://fastdl.mongodb.org/linux/mongodb-linux-i686-2.2.7.tgz (32位)

注意:32位系统安装32位的,64位系统安装64位的!

安装MongoDB

#创建mongodb安装相关目录

mkdir -pv /usr/local/mongodb
mkdir -pv /usr/local/mongodb/etc
mkdir -pv /usr/local/mongodb/data
mkdir -pv /usr/local/mongodb/logs
mkdir -pv /usr/local/mongodb/repair

#将解压包内的bin文件夹移动到安装目录

cd /usr/local/src/
tar -xzvf ./mongodb-linux-i686-2.2.7.tgz
cd ./mongodb-linux-i686-2.2.7
mv ./bin /usr/local/mongodb

#创建mongodb用户和mongodb用户组

groupadd mongodb
useradd -g mongodb -s /usr/sbin/nologin mongodb
chown -R mongodb:mongodb /usr/local/mongodb

#创建配置文件 mongodb.conf

vim /usr/local/mongodb/etc/mongodb.conf

添加如下内容:

dbpath = /usr/local/mongodb/data
logpath = /usr/local/mongodb/logs/mongodb.log

fork = true

#启动mongodb

ln -s /usr/local/mongodb/bin/mongod /usr/bin/mongod
mongod -f /usr/local/mongodb/etc/mongodb.conf

看看是不是启动起来了,但是使用这种方式管理mongodb服务器很不明智,我们完善一下:

mkdir -p /usr/local/mongodb/srv
vim /usr/local/mongodb/srv/mongodb-start

添加下面的内容

#!/bin/sh
mongod -f /usr/local/mongodb/etc/mongodb.conf

vim /usr/local/mongodb/srv/mongodb-stop

添加下面的内容

#!/bin/bash
pid=`ps -o pid,command ax | grep mongod | awk '!/awk/ && !/grep/ {print $1}'`;
if [ "${pid}" != "" ]; then
    kill -2 ${pid};
fi

添加执行权限

chmod a+x /usr/local/mongodb/srv/mongodb-start
chmod a+x /usr/local/mongodb/srv/mongodb-stop vim /etc/rc.d/init.d/mongodb

添加下面的内容

#! /bin/sh
#
# mongodb – this script starts and stops the mongodb daemon
#
# chkconfig: - 85 15
# description: MongoDB is a non-relational database storage system.
# processname: mongodb
# config: /usr/local/mongodb/etc/mongodb.conf
# pidfile: /usr/local/mongodb/mongodb.pid PATH=/usr/local/mongodb/bin:/sbin:/bin:/usr/sbin:/usr/bin
NAME=mongodb
test -x $DAEMON || exit 0
set -e
case "$1" in
start)
echo -n "Starting MongoDB... "
/usr/local/mongodb/srv/mongodb-start
;;
stop)
echo -n "Stopping MongoDB... "
/usr/local/mongodb/srv/mongodb-stop
;;
*)
N=/etc/init.d/$NAME
echo "Usage: $N {start|stop}" >&2
exit 1
;;
esac
exit 0

添加服务

chmod a+x /etc/rc.d/init.d/mongodb
chkconfig --add mongodb
chkconfig --level 345 mongodb on
service mongodb start // 或 /etc/rc.d/init.d/mongodb start

备份:以前的做法

#设置开机启动

echo "/usr/local/mongodb/bin/mongod --dbpath=/usr/local/mongodb/data --logpath=/usr/local/mongodb/logs/mongodb.log --fork" >> /etc/rc.local

#启动mongodb

/usr/local/mongodb/bin/mongod --dbpath=/usr/local/mongodb/data --logpath /usr/local/mongodb/logs/mongodb.log --fork

#将端口加入防火墙(参考:CentOS6.3编译安装Memcached

注意:数据库端口和Web端口,分别是和,在浏览器中打开 http://localhost:28017,可以看到一些相关信息。

service iptables restart     // 重启防火墙

可能出现的问题:

问题一:

-bash: /usr/local/bin/mongo: /lib/ld-linux.so.2: bad ELF interpreter: 没有那个文件或目录

解决办法:

yum install ld-linux.so.2

问题二:

mongo: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory

解决办法:

yum whatprovides libstdc++.so.6
yum install llibstdc++.so.6

问题三:查看日志的内容如下

Tue Jan  4 09:51:37 MongoDB starting : pid=2794 port=27017 dbpath=/var/lib/mongodb 32-bit

** NOTE: when using MongoDB 32 bit, you are limited to about 2 gigabytes of data
**       see http://blog.mongodb .org/post/137788967/32-bit-limitations

Tue Jan  4 09:51:37 db version v1.6.5, pdfile version 4.5
Tue Jan  4 09:51:37 git version: 0eb017e9b2828155a67c5612183337b89e12e291
Tue Jan  4 09:51:37 sys info: Linux domU-12-31-39-01-70-B4 2.6.21.7-2.fc8xen #1 SMP Fri Feb 15 12:39:36 EST 2008 i686 BOOST_LIB_VERSION=1_37
**************
old lock file: /var/lib/mongodb /mongod.lock.  probably means unclean shutdown
recommend removing file and running --repair
see: http://dochub.mongodb .org/core/repair for more information
*************
Tue Jan  4 09:51:37 exception in initAndListen std::exception: old lock file, terminating
Tue Jan  4 09:51:37 dbexit:

参考:http://blog.csdn.net/a9529lty/article/details/6456969


安装PHP的MongoDB客户端

官方网站(http://pecl.php.net/package/mongo

cd /usr/local/src
wget -c http://pecl.php.net/get/mongo-1.4.4.tgz
tar -xzvf ./mongo-1.4.4.tgz
cd ./mongo-1.4.4
/usr/local/php/bin/phpize # 利用PHP的 phpize 命令来安装扩展
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install

完成后,编辑你 php.ini 文件增加一行。

extension=mongo.so

CentOS6.3安装MongoDB2.2 及 安装PHP的MongoDB客户端的更多相关文章

  1. centos6.5环境源码编译安装mysql5.6.34

    centos6.5环境源码编译安装mysql5.6.34 源码下载地址http://dev.mysql.com/downloads/mysql/5.6.html#downloads 选择Generic ...

  2. centos vmware centos6.6 64位 kvm虚拟化安装配置 第四十二节课

    centos vmware centos6.6 64位 kvm虚拟化安装配置     第四十二节课 上半节课 下半节课 f

  3. CentOS-6.5-x86_64 最小化安装后,怎样安装 man 程序?

    CentOS-6.5-x86_64 最小化安装后.怎样安装man 程序? CentOS-6.5-x86_64 最小化安装后,没有man 程序,没它还真的不方便. man 是 manual(手冊)的意思 ...

  4. CentOS6.5+mysql5.1源码安装过程

    一:先安装依赖包(不然配置的时候会报错的!) yum -y install ncurses* libtermcap* gcc-c++* 新建mysql用户 [root@HE1Packages]# gr ...

  5. centos 6.5 安装mongodb2.6

    前言: 系统版本号:Centos-6.5-x86_64 *** Centos编译安装mongodb 2.6 系统最好是64位的,才干更好发挥mongodb的性能 1.准备,下载源文件(二进制编译版) ...

  6. centos6.5环境disconf管理端安装配置详解

    操作系统:centos6.5 x86_64 安装目录/data 1.安装nginx1.10.1 rpm -ivh http://nginx.org/packages/centos/6/noarch/R ...

  7. centos6.5环境通过rpm包安装mysql5.5.51数据库

    centos6.5环境通过rpm包安装mysql5.5.51数据库 注意:此方法适用于单独安装数据库的需求,如果在该机器上还需要安装php环境,建议mysql通过编译或yum方式安装 1.查找已经安装 ...

  8. CentOS6.5上Zabbix3.0的RPM安装【一】-安装并配置Server

    一.Environment OS:CentOS6.5 64bit [桌面版安装] Server端:192.168.201.109 ServerName Clinet端:192.168.201.199 ...

  9. Go程序开发---Go环境配置:CentOS6.5+Go1.8标准包安装

    1.Go安装 1.1Go的三种安装方式 Go有多种安装方式,可以选择自己习惯的方式进行,这里介绍三种安装方式: 1)Go源码安装 2)Go标准包安装 3)第三方工具安装 这里主要介绍下Go标准包在Ce ...

随机推荐

  1. JS入门学习,写一个简单的图片库

    <!-- 新手刚开始学JS,每天坚持写点东西 坚持下去,希望能有所进步 .  加油~~ --> <!DOCTYPE html>                         ...

  2. ireport制作小技巧<Reproduce>

    首先ireport中大小写问题: 1.parameter中如果小写,引用也小写 2.$F{},一般都大写 3.子报表中引用父报表中查询出来的值时,只需要小写即可,即在子报表的parameter中只需要 ...

  3. MVP模式(Android)

    以前在写项目的时候,没有过多考虑架构模式的问题,因为之前一直做J2EE开发,而J2EE都是采用MVC模式进行开发的,所以在搭建公司项目的时候,也是使用类似MVC的架构(严格来讲,之前的项目还算不上MV ...

  4. 开源项目导入eclipse的一般步骤

    开源项目导入eclipse的一般步骤 周银辉 下载到开源项目后,我们还是希望导入到eclipse中还看,这样要方便点,一般的步骤是这样的 打开源代码目录, 如果看到里面有.calsspath .pro ...

  5. Redis学习笔记~conf自主集群模式

    回到目录 Redis自主提供了集群模式,当然也只是比较简单的读写分离模式,或者叫主从模式,它在各个redis服务端自己做数据同步机制,当然就是将主服务端的信息同步到各个slave服务器上,在客户端集成 ...

  6. Windows phone应用开发[18]-下拉刷新

    在windows phone 中采用数据列表时为了保证用户体验常遇到加载数据的问题.这个问题普遍到只要你用到数据列表就要早晚面对这个问题. 很多人会说这个问题已经有解决方案. 其实真正问题并不在于如何 ...

  7. SQLite剖析之异步IO模式、共享缓存模式和解锁通知

    1.异步I/O模式    通常,当SQLite写一个数据库文件时,会等待,直到写操作完成,然后控制返回到调用程序.相比于CPU操作,写文件系统是非常耗时的,这是一个性能瓶颈.异步I/O后端是SQLit ...

  8. 为什么 "auto a = 1;" 在C语言中可以编译通过?

    参照:这里 这让我想起之前看的一部书, int i; 其实是等价与 auto int i; 表示为局部变量 这应该与static是相对的吧?

  9. String、StringBuilder 与 StringBuffer

    1. 在执行速度方面的比较:StringBuilder > StringBuffer 2. StringBuffer与StringBuilder,他们是字符串变量,是可改变的对象,每当我们用它们 ...

  10. Maven 配置使用小技巧

    Spark开发中遇到了一些小问题,都是大神随便一个手指头帮我解决的.保持学习,积累吧! 一. 基于Intellij IDEA编辑器 1. 快捷键 注释/去注释   Ctrl+Shift+? 2. re ...