zoukankan      html  css  js  c++  java
  • 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
    

      

  • 相关阅读:
    JavaScript之六种排序法
    实习的意义
    HTML、JS、CSS之特殊字符
    CSS之全屏背景图
    Swiper之滑块1
    (转)Android之接口回调机制
    (转)Android之自定义适配器
    反射
    对数据库事务、隔离级别、锁、封锁协议的理解及其关系的理解
    get和Post区别
  • 原文地址:https://www.cnblogs.com/Tommy-Yu/p/4228829.html
Copyright © 2011-2022 走看看