5
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

WindowsでNode.jsアプリをデプロイ

Posted at

Linux系と違ってシステムユーザーじゃないとWindowsでNode.jsアプリをデプロイして、ログオフしたらアプリもダウンされてしまいます。
システムユーザー権限でCmdを使用できますが、やり方が複雑すぎてめんどくさい :punch:

多分、一番簡単な方法はシステムサービスを使うことだと思います。
システムサービスにアプリサービスを登録できたらシステムユーザーがコントロールしてくれます。つまり、通常のユーザーがログオフしてもアプリが立ち上げっぱなしできます。

このノートでNSSMを使用してNode.jsアプリをサービスとしてシステムサービスを登録し、
作業する.batファイルを投稿します。

1. システムサービスにアプリサービスを登録し開始する。

@echo off
echo サービスをアンインストール...
nssm stop <SERVICE_NAME>
nssm remove <SERVICE_NAME>

echo サービスをインストール...
nssm install <SERVICE_NAME> "node"

echo 引数を設定...
nssm set <SERVICE_NAME> AppDirectory "path\to\app"
nssm set <SERVICE_NAME> AppParameters "index.js"
nssm set <SERVICE_NAME> AppEnvironmentExtra "NODE_ENV=production"
nssm set <SERVICE_NAME> AppStdout "path\to\logs\nssm_out.log"
nssm set <SERVICE_NAME> AppStderr "path\to\logs\nssm_err.log"

echo サービスを開始...
nssm start <SERVICE_NAME>

timeout 10

2. サービスを停止し、システムサービスから削除する。

@echo off
echo サービスをアンインストール...
nssm stop <SERVICE_NAME>
nssm remove <SERVICE_NAME>

timeout 10

NSSMのコマンドラインの詳しくはHPにご参考ください。

5
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?