CentOS 手工编译、手动编译安装 MongoDB

来源:互联网 发布:mac 终端查找文件夹 编辑:程序博客网 时间:2024/04/28 02:01

下载所需软件(下载到/usr/local/src目录)

#wget http://downloads.mongodb.org/src/mongodb-src-r1.8.1.tar.gz#wget http://ftp.mozilla.org/pub/mozilla.org/js/js-1.7.0.tar.gz#wget http://sourceforge.net/projects/pcre/files/pcre/8.12/pcre-8.12.tar.bz2

安装 python :

#yum install -y python-devel  安装scons: 下载scons(http://www.scons.org/download.php)tar zxf scons-2.0.1.tar.gzcd scons-2.0.1python setup.py install

安装spidermonkey库,下载支持c的js api库 js-1.7.0.tar.gz(http://ftp.mozilla.org/pub/mozilla.org/js/)

yum install -y boost boost-develtar zxvf js-1.7.0.tar.gzcd js/src/export CFLAGS="-DJS_C_STRINGS_ARE_UTF8"make -f Makefile.refJS_DIST=/usr gmake -f Makefile.ref exportcd ../.. 

安装pcre

tar zxf pcre-8.12.tar.gzcd pcre-8.12./configure --enable-utf8 --enable-unicode-propertiesmake && make installcd ..

安装MongoDB

tar zxf mongodb-src-r1.8.1.tar.gz cd mongodb-src-r1.8.1scons all   // scons可能出现找不到pcre库的现象(修改/etc/ld.so.conf也无用,是scons自身的问题),这时需要打开mongodb-src-r1.8.0下的SConstruct,查找【 linux2"== os.sys.platform:】,在LIBPATH后面添加上pcrecpp库的安装路径,在LIBS后添加上pcrecpp库名,再重新scons all即可(操作:vim SConstruct;原来:env.Append( LIBPATH=["/usr/lib64" , "/lib64" ] ) ;修改后env.Append( LIBPATH=["/usr/lib64" , "/lib64" ,"/usr/local/pcre/lib"]);  接下来在env.Append( LIBS=["pthread"] )后面添加 env.Append( LIBS=["libpcrecpp"] )  )scons --prefix=/usr/local/mongo install如果需要安装lib和head,使用如下方式安装scons --prefix=/usr/local/mongo --full install

创建配置文件

mkdir -p /usr/local/mongo/etc /usr/local/mongo/data /usr/local/mongo/log/ /usr/local/mongo/repairvim  /usr/local/mongo/etc/mongo.conf在mongo.conf中添加下面的内容dbpath = /usr/local/mongo/datalogpath = /usr/local/mongo/mongodb.logrepairpath = /usr/local/mongo/repairpidfilepath = /usr/local/mongo/mongodb.piddirectoryperdb = truelogappend = truenoauth = trueport = 27017maxConns = 1024fork = truerest = truequota = truequotaFiles = 1024nssize = 16

启动mongodb

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

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

mkdir -p /usr/local/mongo/srvvim /usr/local/mongo/srv/mongodb-start

添加下面的内容

#!/bin/shmongod -f /usr/local/mongo/etc/mongo.confvim /usr/local/mongo/srv/mongodb-stop

添加下面的内容

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

添加执行权限

chmod a+x /usr/local/mongo/srv/mongodb-startchmod a+x /usr/local/mongo/srv/mongodb-stopvim /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.pidPATH=/usr/local/mongo/bin:/sbin:/bin:/usr/sbin:/usr/binNAME=mongodbtest -x $DAEMON || exit 0set -ecase "$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/mongodbchkconfig --add mongodbchkconfig --level 345 mongodb on/etc/rc.d/init.d/mongodb start

转载自:http://www.9958.pw/post/centos_mongodb

0 0
原创粉丝点击