MongoDB3をWindowsのインストールついでにサービスとして登録

samatsu 9/1/2015 2830 N/A MongoDB

MongoDB 3も結構前にリリースされていますが、Windows環境にセットアップする覚書を記載しておきます。といってもMongoDBのドキュメントサイトのインストール手順に従うだけですが。

1. MongoDBのダウンロード

まず、MongoDBのサイトからインストーラーをダウンロードしましょう。下記MongoDBのダウンロードページにアクセスします。

https://www.mongodb.org/downloads

ダウンロードページにいくと次のようなページが表示されます。Windowsタブの DOWNLOAD ボタンをクリックします。

最新の安定板のmsiファイルがダウンロードされます。記事作成段階ではダウンロードされるファイル名はmongodb-win32-x86_64-2008plus-ssl-3.0.6-signed.msi になります。zipファイルを使用した場合、依存するdllが含まれていなくてmongodbを起動しようとするとエラーが発生するので今回はMSI版を使用してインストールしていきます。

古いバージョンが必要な場合は、上記ページの Previous Releases のリンクをクリックしてください。

後は、msi をダブルクリックすればインストールなのですが、今回はコマンドプロンプトを使用します。インストーするフォルダーを指定してMongoDBをインストールしたいからです。

2. MongoDB のインストール

msiファイルを適当なフォルダーに配置します。コマンドプロンプトを管理者として起動し、次のコマンドを入力してインストールします。msiファイルの名前は適合変更してください。下記コマンドでは インストーラーのGUIを表示せずにインストールするオプションを指定してインストールしています。インストールする場所は C:\mongodb を指定しています。

msiexec.exe /q /i mongodb-win32-x86_64-2008plus-ssl-3.0.6-signed.msi  INSTALLLOCATION="C:\mongodb" ADDLOCAL="all"

これで必要なファイルのセットアップは完了です。msi ファイルにはOpenSSLのライブラリも同封しているので簡単にインストールできます。

インストール手順の詳細に関しては次のURLも参照してください。

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

3. Windowsサービスとすて登録する

MongoDBをWindowsサービスとして起動するようにします。これも基本的にMongoDBのページのWindows上でのインストール手順に従うだけでOKです。

まず、コンフィグファイルを準備します。例えば、 service.conf という名前でコンフィグファイルを作成しメモ帳で次のように編集します。コンフィグファイルではログファイルのパスとデータベースファイルの作成先とポート番号(デフォルト)を指定しています。

# ログの出力先とポート、DBフォルダーのパスを指定 
systemLog :  
  destination : "file" 
  path : "C:\\data\\log\\mongodb.log" 

net: 
  port : 27017
storage : 
  dbPath : "C:\\data\\db" 

コンフィグファイルの設定の詳細に関しては下記URLを参照してください。

Configuration File Options
http://docs.mongodb.org/manual/reference/configuration-options/

これでサービスとして起動する準備が整いました。引き続き管理者モードで起動したコマンドプロンプトを使用して次のようにコマンドを入力します。サンプルではWindowsサービスとして起動するときに使用するコンフィグファイルを指定してインストールしています。--serviceName および --serviceDisplayNameはオプションでWindowsサービスの名前と表示名です。--serviceName,--serviceDisplayNameオプションを指定しない場合は MongoDB という名前でWindowsサービスが登録されます。

mongod.exe --config C:\data\service.conf --install --serviceName MongoDB30 --serviceDisplayName MongoDB30

すぐMongoDBサービスを動作させたい場合は次のようにコマンドを入力してサービスを開始します。既定の名前(MongoDB)でサービスを登録した場合は net start MongoDB でサービスを開始します。

net start MongoDB30

サービスコンソールを起動して、サービスが起動していることを確認できます。下図では MongoDBとMongoDB30という2つのMongoDBがサービスとして動作しています。

サービスとして登録したMongoDBのWindowsサービスを削除する場合は、次のコマンドで削除できます。デフォルトのサービス名でインストールしていない場合は --serviceName オプションでサービス名を指定してください。

mongod.exe --remove

その他のmongod.exeのオプションは次のコマンドでヘルプを確認できます。

mongod.exe -h