CentOS 编译安装 MongoDB

1.下载并安装所需要的软件

yum -y install pcre

yum -y install scons

首先需要安装好 icu4c-4_0-src.tgz   最新版本是1.51.2。 icu4c-52_1-src.tgz和 boost_1_43_0

tar -xvf icu4c-4_0-src.tgz

cd icu/source

./configure --prefix=/usr/local

make

make install

ldconfig

看看之前是否有安装过没有,有的话就先删除以前的 rm -rf /usr/local/include/boost rm -rf /usr/local/lib/libboost*

tar -xvf boost_1_43_0.tar.gz

cd boost_1_43_0

./bjam -sHVAE_ICU=1

cp ./stage/lib/* /usr/local/lib

cp -a ./boost /usr/local/include

ldconfig


tar -xvf mongodb-src-r2.2.2.tar.gz

cd mongodb-src-r2.2.2

scons all

scons --prefix=/usr/local/mongo install --full install

这个时候算编好了可执行程序和库但这个库还不能用在我们的程序里面 因为c++程序连接数据库时需要c++版客户端v2.2的驱动

tar -xvf mongodb-linux-x86_64-v2.2-latest.tgz
cd mong-cxx-driver-v2.2
scons
scons install
ldconfig /usr/local/lib
这个时候看看自己的目录下是不是有一个静态库
但不会生成动态库 有时我们需要用到动态库怎么办,这个时候就修改一下配置文件了
找到SConscript.client并打开 看看有没有 #env.SharedLibrary('mongoclient', clientSource),这句话
去掉注释得新编一次就行了,这时你又会发现你的目录下多了一个.so文件,不过我只到2.2.2的版本上编成功过更高的版本不知道为什么编不出动态库

2 开始使用mongodb了
mkdir -p /usr/local/mongo/etc /usr/local/mongo/data /usr/local/mongo/log/
vim  /usr/local/mongo/etc/mongo.conf
加入下面配置

dbpath = /usr/local/mongo/data

logpath = /usr/local/mongo/mongodb.log

pidfilepath = /usr/local/mongo/mongodb.pid

directoryperdb = true

logappend = true

noauth = true

port = 27017

maxConns = 1024

fork = true

quota = true

quotaFiles = 1024

nssize = 16

#auth=true


启动mongodb
ln -s /usr/local/mongo/bin/mongod /usr/bin/mongod
mongod -f /usr/local/mongo/etc/mongo.conf
看看进程里有没有mongod
mkdir -p /usr/local/mongo/srv
vim /usr/local/mongo/srv/mongodb-start

#!/bin/sh

mongod -f /usr/local/mongo/etc/mongo.conf

vim /usr/local/mongo/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

添加可执行权限
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/mongo/etc/mongo.conf
# pidfile: /usr/local/mongo/mongodb.pid
PATH=/usr/local/mongo/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/mongo/srv/mongodb-start
        ;;
  stop)
        echo -n "Stopping MongoDB... "
        /usr/local/mongo/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

/etc/rc.d/init.d/mongodb start


这个时候就成功了







  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值