ubuntu 下mongodb安装

1.下载:

mongodb.org/download

2. 将下载的压缩文件加压到/usr/lib下

3. 建立软链接

ln -s /usr/lib/mongodb-linux-i686-2.6.7/bin/mongod /usr/bin/mongod
ln -s /usr/lib/mongodb-linux-i686-2.6.7/bin/mongo /usr/bin/mongo

 这样就可以在命令行下调用mongod和mongo指令了。

当然也可以通过 apt-get install mongodb-server来安装,不过可能版本稍微旧了点。

---以下可选----

4. 启动默认的服务

mongod --dbpath /usr/lib/mongodb-linux-8686-2.6.7/db

但是这样子不是后台运行的,需要把它转为后台运行。

这该怎么办呢?

解答:在/etc/init.d下面建立一个脚本mongod,同时删除掉/usr/bin/mongod。如下:

#!/bin/sh
service mongodb-server start

  

同时设置为启动项:

update-rc.d mongod defaults

新建脚本文件 /etc/init.d/mongodb-server并设置好权限,内容如下:

#!/bin/sh
DAEMON=/usr/bin/mongodb-linux-i686-2.6.7/bin/mongod
DAEMON_OPTS="--dbpath /usr/lib/mongodb-linux-i686-2.6.7/db"
NAME=mongodb-server
DESC=mongodb-server
PIDFILE=/var/run/$NAME.pid
USER = tommy
case "${1}" in
     case start)
         echo "starting ${DESC}:"
            start-stop-daemon --start --quiet --pidfile ${PIDFILE} \
                                         --chuid $(USER} --background --make-pidfile \
                                         --exec ${DEAMON} -- ${DEAMON_OPTS}
         echo "[ok]"
     ;;
     case stop)
           echo "stopping ${DESC}:"
           start-stop-daemon --stop --quiet --pidfile ${PIDFILE} \
                                         --oknodo
           echo "[ok]"
     ;;
esac
exit 0

 

需要创建pidfile,并设置好权限,过程略。

以上配置后,每次开机,自动启动mongodb的默认服务,数据库为 /usr/lib/mongodb-...../db

只需要在命令行键入mongo就可以连入默认的db。

----分割--------------

以下开发相关:

(比如mongoengine的情形)

from mongoengin import *
connect('local')

class Test(Document):
     name = StringField(max_length=100)

#...    

  

=====附注: centos下的安装======

下载redhat包,解压到/usr/local下,重命名为mongodb;

新建脚本/etc/init.d/mongod3, 如下(本人瞎掰的):

# !bin/sh
# chkconfig: - 64 36

NAME=mongod2
PROC=/usr/local/mongodb/bin/mongod
LOG_FILE=/var/log/mongodb.log
DB_PATH=/usr/local/mongodb/db
start(){
        $PROC --fork --logpath $LOG_FILE --dbpath $DB_PATH
}

stop(){
        ps aufx | grep $PROC | grep -v grep | awk '{print $2}' | xargs kill -9
        echo 'stoped ...'
}

status(){
        ps afux | grep $PROC | grep -v grep  || echo 'stoped'
}

case "$1" in

 start)
   start
 ;;

 stop)
   stop
 ;;

 status)
       status $NAME
 ;;

 restart)
   stop
   start
 ;;

 *)
   echo "Usage: $0 {start|stop|restart|status}"
 ;;

esac

 

加入自动启动

su root
chmod 755 /etc/init.d/mongod3
chkconfig --add mongod3
chkconfig mongod3 on
chkconfig --list | grep mongod3