Mongo DB は 簡単に Windows Service としてセットアップできます。今回はサービスとしてインストールする方法の覚書を記載します。

セットアップに使用した MongoDB のバージョンは 2.6.1 です。

Mongo DB をサービスとしてインストールする手順に関しては下記URLの Run the MongoDB service を参考にしました。サービスのインストールがうまくいかない場合は手動のインストール方法(下記URL の Manually Create a Windows Service for MongoDB)を参考にしてください。

Install MongoDB on Windows
http://docs.mongodb.org/manual/tutorial/install-mongodb-on-windows/

MongoDBを公式サイトからダウンロードしてフォルダーに展開していあることを前提とします。詳細な手順に関しては Mongo DB の公式サイトや[MogoDB]MongoDBをWindows環境にインストールするを参照してください。

1. コンフィグファイルを準備する

コンフィグレーションファイルを作成して mongod.exe に渡すオプションを記述します。最低 logpath オプションを指定してログが出力されるようにしておきましょう。今回はmongo.cfgという名前のファイルを作成して、下図のようにlogpath オプションを設定しました。後は必要に応じて他のオプションも設定します。今回は dbpathとportも指定しています。

logpath=C:\mongo\data\logs\mongo.log
dbpath=C:\mongo\data\db
port=27017

コンフィグファイルの書式は MongoDB 2.4 以前の書式で記載しています。指定できるオプションの種類はConfiguration File Optionsを参考にしてください。MongoDB2.6以降の新しいコンフィグファイルの書式についてはConfiguration File Optionsを参照してください。

2. サービスとしてインストールする

Windows Service としてインストールするときに指定するオプションに関係するものは mongod.exe --help で表示される以下のヘルプが参考になります。

Windows Service Control Manager options:
  --install                install Windows service
  --remove                 remove Windows service
  --reinstall              reinstall Windows service (equivalent to --remove
                           followed by --install)
  --serviceName arg        Windows service name
  --serviceDisplayName arg Windows service display name
  --serviceDescription arg Windows service description
  --serviceUser arg        account for service execution
  --servicePassword arg    password used to authenticate serviceUser

サービスとしてインストールするには次のコマンドを使用します。

mongod.exe --config C:\MongoDB\mongo.cfg --install

サービスの管理画面を確認すると 下図のように MongoDB というサービス名で MongoDBがサービスとしてインストールされていることがわかります。

サービスを起動する場合は 次のコマンドをコマンドプロンプトから実行します。

net start MongoDB

停止する場合は、次のコマンドを実行します。

net stop MongoDB

サービスを削除するには次のコマンドを実行します。

mongod.exe   --remove

サービスを既定の MongoDB という名前以外でインストーする場合は --serviceName オプションを使用してください。既定の名前以外でサービスをセットアップした場合は サービスを開始したり停止したり、アンインストールするときのコマンドも適宜読み替えたり、 --serviceName オプションをつけてコマンドを実行するようにします。

3.まとめ

簡単ですが説明は以上です。 MongoDB をサービスとして起動するようにすることで コマンドプロンプトを起動してMongoDBを開始する手間を省くことができます。