1. 程式人生 > >linux mongodb 安裝、自啟動

linux mongodb 安裝、自啟動

可以使用root使用者進行mongodb的管理(啟動、停止…),但對於追求卓越的人來說,我們新非root使用者管理mongo更好。

在linux下建立使用者、修改密碼

useradd mongod
passwd mongod
...

安裝mongodb

cd /home/mongod

curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.2.6.tgz

tar -zxvf mongodb-linux-x86_64-3.2.6.tgz

mv mongodb-linux-x86_64-3.2.6.tgz mongodb
分配宿主
chown -R mongod.mongod *

切換root使用者, 
cd ~ 
vi .bashrc 並追加
MONGODB_HOME=/home/mongod/mongodb 
PATH=$PATH:$MONGODB_HOME/bin

建立資料檔案目錄,及日誌目錄

mkdir /home/mongod/data
mkdir /home/mongod/data/db
mkdir /home/mongod/log

編輯啟動指令碼

vi mongodb/mongo.conf
內容:
dbpath=/home/mongod/data/db
logpath=/home/mongod/log/mongodb.log
logappend=true
fork=true
port=27017

測試啟動

啟動
/home/mongod/mongodb/bin/mongod -f /home/mongod/mongodb/mongo.conf

停止
/home/mongod/mongodb/bin/mongod -f /home/mongod/mongodb/mongo.conf --shutdown  

配置開啟啟動

cd /etc/init.d/

#!/bin/sh
#
#chkconfig: 2345 80 90
#description: mongodb

if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
   echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
   echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi

start() {
    /home/mongod/mongodb/bin/mongod -f /home/mongod/mongodb/mongo.conf
}

stop() {
  /home/mongod/mongodb/bin/mongod -f /home/mongod/mongodb/mongo.conf --shutdown
}

case "$1" in
  start)
    start
    ;;
  stop)
    stop
    ;;
  restart)
    stop
    start
    ;;
  *)
 echo $"Usage: $0 {start|stop|restart}"
 exit 1
esac

使其生效

chkconfig --add mongodb  
chmod +x  mongodb  
chkconfig mongodb on