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を開始する手間を省くことができます。