Linux下MongoDB安裝和配置詳解(三)
阿新 • • 發佈:2019-02-01
一、將mongod服務新增為系統服務
MongoDB安裝之後,每次都需要執行命令加引數來啟動,不便於管理,這裡可以將其新增到系統服務,方法如下:
1、建立檔案
linux系統服務啟動檔案都存放在 /etc/init.d/ 下面,service mongod start 這樣的命令是通過執行該目錄下的指令碼實現管理的,所以需要建立一個指令碼檔案mongod並修改讀寫許可權
>touch mongod
>chmod 755 mongod
另外還需要用到一個檔案來儲存服務pid,service mongod stop 命令就是通過這個檔案讀取服務pid的,可以建立在MongoDB的安裝目錄下面,
>cd /usr/local/server/mongodb/
>touch mongod.pid
>chmod 755 mongod.pid
2、編寫mongod指令碼,以下為編寫好的指令碼示例:
##--------------------------------------------------------
#!/bin/bash
#chkconfig:35 23 34
#description: MongoDB service
#set -x
if [ -f /etc/init.d/functions ] ; then
##載入functions,. 在這裡相當於source的功能
. /etc/init.d/functions
fi
##服務名,會多處呼叫
prog=mongod
##狀態返回值,functions 函式會呼叫這個值
RETVAL=0
mongod=/usr/local/server/mongodb/bin/mongod
MONGODB_CONF_FILE=/usr/local/server/mongodb/mongodb.conf
lockfile=/var/lock/subsys/${prog} ##subsys目錄下的檔案是用於給其他程式判斷服務的例項執行狀態的
pidfile=/usr/local/server/mongodb/mongod.pid
start() {
echo -n $"Starting $prog: "
daemon $mongod --config $MONGODB_CONF_FILE ##daemon呼叫後面的命令執行情況
pgrep mongod>${pidfile} ##寫入pid到pidfile
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && touch ${lockfile}
return $RETVAL
}
stop () {
echo -n $"Stopping $prog: "
killproc -p ${pidfile} ##killproc 從pidfile 獲取到pid,並殺死
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && /bin/rm -f ${lockfile}
return $RETVAL
}
case $1 in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo $"Usage: $0 {start|stop|restart}"
exit 2
;;
esac
exit $?
##-------------------------------------------------------------------
3、通過這個指令碼就可以實現系統服務啟動、關閉、重啟mongod服務了,然後我們可以讓他開機啟動:
>chkconfig mongod on