UNIX(mac osx)のバックグラウンドでmongodを実行するにはどうすればよいですか?


50

常に存在するものとして、バックグラウンドでmongodを実行したいと思います。これを行う最良の方法は何でしょうか?起動時にMySQLを実行する方法のようなもので、常にバックグラウンドで実行されています。たぶんそれは単なるbashスクリプトですが、もっと良い方法があれば聞いてみるといいでしょう。それが単なるbashの場合-それはどのように見えるでしょうか?ありがとう。


1
npm install pm2 -g+ pm2 start mongod+ pm2 saveは、セッション間でバックグラウンドプロセスを実行し続けるための優れたクロスプラットフォームの方法です。
-Jthorpe

回答:


81

MongoDBデーモン(mongod)には、サーバーをバックグラウンドで実行するコマンドラインオプションがあります...

--fork

このコマンドラインオプションでは、メッセージを記録するファイルも指定する必要があります(現在のコンソールを使用できないため)。このコマンドの例は次のようになります。

mongod --fork --logpath /var/log/mongod.log

これを/etc/init.d/mongod bashスクリプトファイルに入れることができます。そして、起動時にサービスを実行するには、/ etc / rc#.d /内に標準のシンボリックリンク(S ##&K ##)を作成します。このプロセスをより詳細に説明するチュートリアルがあります。「Init Script Activation」というタイトルのセクションまでスクロールします。これには、次のようなコマンドを実行できるという利点もあります...

service mongod status
service mongod start
service mongod stop

Windowsではこれができないようです。
マリクブラヒミ


./bin/mongod --fork --logpath = logs / mongod.log --dbpath = data / dbは私のために働いた
Selvakumar Esra

追加のログファイルを作成したくない場合--syslogは、すべてがシステムログに書き込まれるオプションもあります。
マルクスグラフ

@ジェシー・ウェッブ。また、たとえばssh接続など、ログアウトした後も実行し続けますか?
ミゲル

11

Macを使用しているため、Homebrewを使用してMongoDBをインストールする必要があります(まだインストールしていない場合はHomebrewをインストールする必要があります)。

brew install mongodb

インストールされたバージョンの名前がであるとし2.0.6-x86_64ます。次に、生成されるLaunchAgent plistファイルを追加します。

mkdir -p ~/Library/LaunchAgents
cp /usr/local/Cellar/mongodb/2.0.6-x86_64/homebrew.mxcl.mongodb.plist ~/Library/LaunchAgents/
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.mongodb.plist

これはmongodバックグラウンドで起動し、コンピューターを再起動するたびに起動します。


1
更新:mkdir -p ~/Library/LaunchAgents cp /usr/local/Cellar/mongodb/3.2.10/homebrew.mxcl.mongodb.plist ~/Library/LaunchAgents launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.mongodb.plist
helsont


0

古典的に、バックグラウンドで実行するには、
nohup some_commandで開始します。
これは、nohup&を起動 するために、nohupと&の間にバックグラウンドで実行するコマンドを配置します。それはあなたとして実行され、ターミナルを閉じるかログアウトした後も実行を続けます。sudo経由で別のユーザーとして起動できます。起動時に実行するには、initスクリプトの置換に追加します(呼び出し元がわからない)。nohup.outというファイルを開始したファイルに出力を書き込みます。


0

OS Xの起動時にプログラムを実行するための最良の方法は、LaunchDaemonを作成し(Appleのドキュメントを参照し、/ System / Library / LaunchDaemonsにあるApple提供のデーモンをいくつか見て)/ Libraryにインストールすることです。 / LaunchDaemons。 Lingonは、.plistファイルの作成を支援します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.