node.js+Vue.jsアプリのWindowsサービス登録方法


winserを使用してnode.js+Vue.jsアプリをWindowsサービスに登録する

node.jsアプリのWindowsサービス登録にはwinserモジュールが使えますが、vue-cliを使ったアプリをWindowsサービスに登録する場合にはwinserコマンドがそのまま使えませんでした。
winserがラッピングしているNSSMを使ってWindowsサービス登録ができたので、その方法を紹介します。

手順

1. winserを導入

$ npm install winser

導入されると/node_modules/winserディレクトリができる

2. NSSMを起動

<アプリ名>にはWindowsサービスとして表示したいアプリケーション名称を入れる

$ C:\<アプリディレクトリ>\node_modules\winser\bin\nssm.exe install <アプリ名>

以下のような画面が表示される

3. 必要な値を入力

  • Path: <アプリディレクトリ>\node_modules.bin\vue-cli-service.cmd を絶対パスで指定
  • Startup: <アプリディレクトリ>を絶対パスで指定
  • Arguments: アプリ起動コマンドを指定

Expressを使用していたため、ArgumentsにExpressのコマンドを指定した

4. "Install service"ボタンを押下

以下のような画面が表示されてWindowsサービスが登録される

これでWindowsサービスにアプリが登録され、起動・停止が可能になりました。