node.jsアプリをWindows Service化
node.jsアプリをWindows Serviceにして使用する意味もあまりない様に思うのですが、情報を手に入れたので試して見ます。
使用モジュールのインストール
npmで以下をインストールします。
npm install winser
使用方法
package.jsonの修正
package.jsonのscriptsにinstall/uninstall scriptを追加します。
serviceの開始で使用されるスクリプトはデフォルトでstart
になります。
また、service名称のデフォルトはpackage.jsonのname
になります。
{
~ 省略 ~
"scripts" : {
"start" : "node app.js",
"install-service" : "winser -i -a",
"uninstall-service" : "winser -r -x"
},
~ 省略 ~
}
上記で使用しているオプションは以下のとおり。
以下以外のオプションはwinserのReadmeを参照。
オプション | 説明 |
---|---|
-i | windows serviceとしてインストール |
-a | インストール直後にアプリを起動 |
-r | windows serviceをアンインストール |
-x | アンインストール前にserviceを停止 |
サービス登録
package.jsonに追加したinstallスクリプトを実行
npm run install-service
サービス削除
package.jsonに追加したuninstallスクリプトを実行
npm run uninstall-service