83901832 2016-03-19
下载所需软件(下载到/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<!--more-->
安装 python :
#yum install -y python-devel 安装scons: 下载scons(http://www.scons.org/download.php) tar zxf scons-2.0.1.tar.gz cd scons-2.0.1 python 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-devel tar zxvf js-1.7.0.tar.gz cd js/src/ export CFLAGS="-DJS_C_STRINGS_ARE_UTF8" make -f Makefile.ref JS_DIST=/usr gmake -f Makefile.ref export cd ../..
安装pcre
tar zxf pcre-8.12.tar.gz cd pcre-8.12 ./configure --enable-utf8 --enable-unicode-properties make && make install cd ..
安装MongoDB
tar zxf mongodb-src-r1.8.1.tar.gz cd mongodb-src-r1.8.1 scons 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/repair vim /usr/local/mongo/etc/mongo.conf 在mongo.conf中添加下面的内容 dbpath = /usr/local/mongo/data logpath = /usr/local/mongo/mongodb.log repairpath = /usr/local/mongo/repair pidfilepath = /usr/local/mongo/mongodb.pid directoryperdb = true logappend = true noauth = true port = 27017 maxConns = 1024 fork = true rest = true quota = true quotaFiles = 1024 nssize = 16
启动mongodb
ln -s /usr/local/mongo/bin/mongod /usr/bin/mongod mongod -f /usr/local/mongo/etc/mongo.conf
看看是不是启动起来了,但是使用这种方式管理mongodb服务器很不明智,我们完善一下:
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
添加执行权限
chmod a+x /usr/local/mongo/srv/mongodb-start chmod a+x /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
添加服务
chmod a+x /etc/rc.d/init.d/mongodb chkconfig --add mongodb chkconfig --level 345 mongodb on /etc/rc.d/init.d/mongodb start