CentOS 编译安装 MongoDB
2014-06-07 11:54
337 查看
1.下载并安装所需要的软件
wget http://downloads.mongodb.org/src/mongodb-src-r2.2.2.tar.gz
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*
wget http://sourceforge.net/projects/boost/files/boost/1.43.0/boost_1_43_0.tar.gz/download
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的驱动
wget http://downloads.mongodb.org/cxx-driver/mongodb-linux-x86_64-v2.2-latest.tgz
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
chmod a+x /etc/rc.d/init.d/mongodb
chkconfig --add mongodb
chkconfig --level 345 mongodb on
/etc/rc.d/init.d/mongodb start
这个时候就成功了
wget http://downloads.mongodb.org/src/mongodb-src-r2.2.2.tar.gz
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*
wget http://sourceforge.net/projects/boost/files/boost/1.43.0/boost_1_43_0.tar.gz/download
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的驱动
wget http://downloads.mongodb.org/cxx-driver/mongodb-linux-x86_64-v2.2-latest.tgz
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
这个时候就成功了
相关文章推荐
- CentOS 手工编译、手动编译安装 MongoDB
- CentOS 编译安装 MongoDB与mongoDB的php扩展
- CentOS 手工编译、手动编译安装 MongoDB
- CentOS编译安装MongoDB
- CentOS 编译安装 MongoDB与mongoDB的php扩展
- 编译安装nginx with uwsgi module on centos
- 在 CentOS 5.4 下编译安装MySQL时
- CentOS 5.4 x86_64 编译安装 MySQL 完全笔记
- Centos 5.5 Lamp源码包安装编译
- centos 5.0 编译安装apache 2.2.6+php5.2.5+mysql5.0.46+Zend笔记
- ACE在CentOS上编译安装及配置
- centos 5.1 bind-9.5.0.tar编译安装配置指南
- CentOS 4.4下源码编译安装apache+php+mysql
- centos 5.0 编译安装apache 2.2.6 php5.2.5 mysql5.0.46 Z
- 在CentOS 5/RedHat Enterprise 5.3上编译安装GeoIP
- CentOS 5.3 下编译安装Fcitx(小企鹅输入法)
- CentOS 5.3 下源码编译安装Ipmsg 笔记
- 从源码编译安装sipx4.0(CENTOS 操作系统)
- CentOS 手工编译安装vsftpd
- 最新Mysql-5.1.35在RHEL5.3(CentOS5.3)编译安装步骤