2014-09-01 45 views
1

我閱讀文檔上webfaction 並與步驟webfaction自動啓動MongoDB的

安裝MongoDB的,它說:

To start the database, run $HOME/webapps/application/mongodb-linux-architecture-version/bin/mongod --auth --dbpath $HOME/webapps/application/data/ --port number. 
To stop MongoDB while it is running in the foreground, press Ctrl + C. 

但我需要保持數據庫始終運行
哪有我做什麼?
請給我。感謝

回答

5

在創建Makefile文件$ HOME/webapps /目錄

start: 
     if ! pgrep mongod; then ./<mongodb-dir-linux-version>/bin/mongod --auth --dbpath <dbpath> --port <port> --fork --logpath ./logs/mongodb.log; fi 


stop: 
     pgrep mongod | xargs kill 

現在,您可以輕鬆地開始從MongoDB的app目錄/停止MongoDB的製作開始/做出停止並關閉噓會議。 將它添加到cron來保持的MongoDB服務活着即使事情突然發生(爲前關閉服務器。):

> export EDITOR=nano 
> crontab -e 

添加以下兩行並保存。

*/10 * * * * make -C ~/webapps/<mongodb app name>/ -f ~/webapps/<mongodb app name>/Makefile start 
@reboot make -C ~/webapps/<mongodb app name>/ -f ~/webapps/<mongodb app name>/Makefile start 
+0

您的意思是在$ HOME/webapps/中創建Makefile。 – Flaudre 2017-01-12 14:40:30

0

的Makefile文件(位於~/webapps/mongodb下)可以看看如下:

# Mongodb Makefile 
start restart: 
    ~/webapps/mongodb/mongodb-linux-x86_64-<your distribution>/bin/mongod --auth --dbpath ~/webapps/mongodb/data --port 12345 --fork --logpath ~/webapps/mongodb/logs/mongodb.log 

stop: 
    ~/webapps/mongodb/mongodb-linux-x86_64-<your distribution>/bin/mongod --port 12345 --dbpath ~/webapps/mongodb/data --shutdown 

一定要提前創建日誌文件夾。

mkdir logs 

@Arugin的答案不適用於運行多個mongodb實例。