1.下载并安装所需要的软件
yum -y install pcreyum -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
加入下面配置
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
vim /usr/local/mongo/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/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