システムの起動時にMongoDBサーバーを起動する方法は?


86

システムを再起動するたびにMongoDBサーバーを起動する必要があります。OSで起動するように設定するにはどうすればよいですか?Ubuntu 11.04を使用しています。


1
ここでupstartを使用することを誰も勧めないのだろうか。
トム

回答:


133

Debian jessieでも同じ「問題」がありました。私の簡単な解決策は次のとおりです。

systemctl enable mongod.service

Ubuntuでも同じだと思います。

-編集-

コメントによると、Ubuntuでも動作します。Ubuntu 18.04 LTSでは、このソリューションのようです:

systemctl enable mongodb.service

@Adamに感謝します。多分彼らはサービスの名前を変えた


10
私のために働いたUbuntu Mate 16.04.2 LTS
ムハンマドゲルバナ

2
残念ながら、公式ドキュメントにはサービスの開始に関する情報はありません。
UpTheCreek

2
(sudo) systemctl start mongodmongdサービスを開始する必要があるかもしれません
ジェフシャオ

2
ubuntu 18.04 LTS
89n3ur0n

1
Ubuntu 18.04 LTS に変更mongod.servicemongodb.serviceた場合にのみ動作します-奇妙ですか?
アダム

37

Advanced Packaging Tool(apt)を使用してMongoDBをインストールすると、システムの起動時にMongoが自動的に実行されるように起動スクリプトが構成されます。

手順は次のとおりです。まず、aptを構成してMongoパッケージをダウンロードできるようにします。

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10
sudo nano /etc/apt/sources.list

sources.listに次の行を追加して保存します。

deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen

次に、apt-getユーティリティを使用してMongoをダウンロードしてインストールします。

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install mongodb-10gen

configに変更を加える場合は、mongodb.confを編集して再起動します。 

sudo nano /etc/mongodb.conf
sudo service mongod restart

5
起動時にMongoDBを自動的に開始しないように後で変更する場合は、を編集します/etc/init/mongodb.conf
kynan

11

すべてのinit.dサービスリンクの制御は、update-rc.dツールで行う必要があります

すなわち、デフォルトのランレベルでmongodデーモンをオンにします(ブート時にオンにします):

update-rc.d mongodb defaults

詳細については、https://help.ubuntu.com/community/UbuntuBootupHowtoを参照してください。このリンクは、起動時にプログラムを設定する方法について知りたいことをすべて伝えます。


2
10gen MongoDBディストリビューションはSystem-Vスタイルのinitスクリプトを使用しません/etc/init/mongodb.conf。編集する必要があります。
kynan

これをする必要がありますか?
-tofutim

5

MongoDB Community Editionをインストールしている場合(Ubuntuパッケージリポジトリに配布されているパッケージよりも頻繁に更新を受け取るため、これが推奨される方法です)、upstart initスクリプトmongod介して開始/停止動作構成します。起動時に自動的に /etc/init/mongod.conf

start on runlevel [2345]
stop on runlevel [06]

自動的に開始したくない場合は、これらの2行を次のように置き換えます。

stop on runlevel [023456]

これにより、誰かがシステムにログインする前にサーバーが起動しますか?
ガブリエルフェア

@GabrielFairはい
kynan

5

Ubuntuにcrontabを使用しています。正常に動作します。ファイルを編集できるようにするには

Sudo crontab –e 

この行をファイルに追加します

@reboot sudo service mongod start &

最後の「&」は、バックグラウンドで動作するためにため息をつきます。

Ctrl+ x終了するには、プロンプトが表示されたら「Y」を押します。そして、ファイル名を「crontab」のままにします。


3

Ubuntu 16.04 LTSを使用している場合、mongoを有効にしてコンソールでこれを入力すると起動します
sudo systemctl enable mongod
。MongoDBCommunity Edition 3.6でこのアプローチを使用しましたが、動作します。マシンを再起動し、mongoが入力を実行しているかどうかをテストします。
sudo service mongod status


3

systemctlコマンドを使用して、システム起動時の実行時にmongoサービスを有効にできます。

次のようなサービスを作成します

sudo nano /etc/systemd/system/mongodb.service

ファイルにコンテンツを配置する

[Unit]
Description=MongoDB Database Service
Wants=network.target
After=network.target

[Service]
ExecStart=/usr/bin/mongod --config /etc/mongod.conf
ExecReload=/bin/kill -HUP $MAINPID
Restart=always
User=mongodb
Group=mongodb
StandardOutput=syslog
StandardError=syslog

その後、次のようなサービスコマンドを使用できるようになります

sudo service mongod start|stop|restart

そして、マシンの起動時に構成したい場合は、mongodファイルを作成できます /etc/init.d/


1

chkconfig --levels 235 mongod on

mongodbはサービスの名前です


2
10gen MongoDBディストリビューションは、デフォルトではSystem-Vスタイルのinitスクリプトを使用しません(1つは提供されますが)、/etc/init/mongodb.conf代わりに編集します。
キナン

@kynanどのように編集しますか?mongod.confファイルに何を変更/追加しますか?
キヴェーリ

@Kieveli:この回答を
-kynan

1

私は一貫して、新しいシャーディングリグを立ち上げて実行するための出発点としてこの投稿を使用しています。また、私が使用したupstartの構成に関するセクションが含まれています。

http://joslynesser.com/blog/archives/2010/09/28/mongodb-sharding-guide-server-setup-on-ubuntu-ec2/


1
「外部リンクのみ」を投稿しないでください。外部リンクが将来ダウンし、この回答が不完全になる可能性があります。リンクに加えて、記事の関連部分をここに投稿してください。「システム起動時にMongoDBサーバーを起動する方法」を示す部分を投稿します。upstartを使用します。
リグ

1

MongoDB Ubuntuインストールガイドのapt-get説明に従ってMongoDBをインストールすると、基本的な起動スクリプトと設定ファイルが付属します。(設定ファイルの使用を強くお勧めします)

また、見てみることができ、ここにリンクする古いポストinit.dスクリプト。

どちらの場合でも、基本的な前提は、サービスをセットアップしてから、コンピューターで開始/停止するように構成することです。これはサーバーではかなり一般的な手法であり、これを正確に行うためのチュートリアルがたくさんあります。


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