web-dev-qa-db-ja.com

Linux / OS Xでmongodサービスを開始する正しい方法は何ですか?

私はmongodbをインストールし、それを実行し、それを操作し、単純なDB読み取り/書き込みタイプのものを実行することができました。今、mongodをサービスとして実行するようにMacをセットアップしようとしています。

私は「コマンドが見つかりません」という応答を受け取ります:

 init mongod start

に応答して:

~: service mongod start
service: This command still works, but it is deprecated. Please use launchctl(8) instead.
service: failed to start the 'mongod' service

そして、私が試してみると:

~: launchctl start mongod
launchctl start error: No such process

だから、明らかに私は少し混乱しています。次のステップは、何かが機能するまでランダムな文字を入力することです。 does workであるコマンドは:mongod --quiet &わかりません。多分それがあなたがそれをするはずの方法ですかたぶん、「静かなモード」をオフにして、コマンドラインの最後に> /logs/mongo.logを追加する必要がありますか?

Linuxサーバーで同じことを行うために、Macで開発環境を構築しています。 Bashのコマンドがわからないだけです。答えを引き出すために私が行う他のすべての検索は、Windowsマシンに関するアドバイスを与えてくれます。

おそらく誰かがコマンドのLinuxバージョンを知っていますか?

どうもありがとう

132
Alex C

Mongodbコミュニティエディションの最近のビルドでは、これは簡単です。

Brewを使用してインストールする場合、正確に何をすべきかがわかります。新しい起動制御ファイルを作成する必要はありません。

$ brew install mongodb
==> Downloading https://homebrew.bintray.com/bottles/mongodb-3.0.6.yosemite.bottle.tar.gz ### 100.0%
==> Pouring mongodb-3.0.6.yosemite.bottle.tar.gz
==> Caveats
To have launchd start mongodb at login:
  ln -sfv /usr/local/opt/mongodb/*.plist ~/Library/LaunchAgents
Then to load mongodb now:
  launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mongodb.plist
Or, if you don't want/need launchctl, you can just run:
  mongod --config /usr/local/etc/mongod.conf
==> Summary
????  /usr/local/Cellar/mongodb/3.0.6: 17 files, 159M
128

編集:Gergoの答えのように、brew services start mongodbを使用する必要があります...

Mongodbをインストール/アップグレードすると、brewは何をすべきかを教えてくれます。

Launchdでログイン時にmongodbを起動するには:

    ln -sfv /usr/local/opt/mongodb/*.plist ~/Library/LaunchAgents

次に、mongodbを今すぐロードします。

    launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mongodb.plist

または、launchctlが必要ない/必要ない場合は、次を実行するだけです。

    mongod

完璧に機能します。

152
Mario Alemi

Homebrewの services tapは、式をlaunchctlマネージャーと統合します。追加は簡単です。

brew tap homebrew/services

その後、次のコマンドでMongoDBを起動できます(これにより、起動時にmongodbも起動します)。

brew services start mongodb

stopまたはrestartを使用することもできます。

brew services stop mongodb
brew services restart mongodb
71
Gergo Erdosi

これを修正するためのシンプルなGUIが必要な場合は(私と同じように)、mongodb pref-paneをお勧めします。説明: http://blog.mongodb.org/post/28925264384/macosx-preferences-pane-for-mongodb

Githubの場合: https://github.com/remysaissy/mongodb-macosx-prefspane

14
koffster

Homebrew経由でMongoDBをインストールしました。インストールコンソールの最後に、次のような出力が表示されます。

Mongodbを起動するには:

brew services start mongodb

または、バックグラウンドサービスが必要ない場合は、次のコマンドを実行するだけです。

mongod --config /usr/local/etc/mongod.conf

brew services start mongodb、MongoDBを私のサービスとして実行できました。

3
Ardi Bello

私は、Mac側について少し調べました。インストーラ here を使用すると、Mac OSで自動的に起動するためのすべてのセットアップが実行されるように見える場合があります。唯一の欠点は、かなり古いmongoバージョンを使用しているように見えることです。

このリンク here では、mongoをMacのバックグラウンドサービスとして自動的に起動するためのセットアップについても説明しています。

2
Scott

mongodはデーモンを起動するために動作していませんでしたが、次を実行した後、動作し始めました:

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

(ここから: https://docs.mongodb.com/manual/tutorial/manage-mongodb-processes/

0
briami

mongod --dbpath [path_to_data_directory]

0

MongoDB 4.0を搭載したmacOS 10.13.6の場合

Mongoシェルからlocalhostに接続できませんでした

MongoDBを開始しました:

mongod --config /usr/local/etc/mongod.conf

「mongod.conf」には次のものがあることがわかりました。

bindIp:127.0.0.1

JavaScript接続をlocalhostから127.0.0.1に変更すると、正常に機能しました。

MongoDB Compassでも同じことが起こりました。

0
NOTiFY

最初の一歩

linuxマシンにmongodbをインストールします

aptインストールmongodb-client && aptインストールmongodb-server

次のステップは

必要に応じて、システムのデフォルトパスの代わりにデータベースパスを変更します。
次の手順を実行し、自分で変更してください。

mongod --directoryperdb --dbpath /var/lib/mongodb/data/db --logpath /var/lib/mongodb/log/mongodb.log --logappend --rest

そして、Windowsマシンで--installフラグを置くだけでそれを行います。成功したメッセージを取得する必要があります。

よろしく...

0
MehdiPRG