Jsをサービスに変換(NodeJs): NodeJsをWindowsサービスとして実行
多くの方はご存知かもしれませんが、NodeJSはサービスとして実行すると大きなメモリリークが発生します。これはWindowsでも例外ではないでしょう。
そのため、NSSM https://nssm.cc/ や WinSW のような標準的なプログラムは、NodeJSをサービスに変換するのには適していません。メモリリークを監視する商用プログラムがあります:
- AlwaysUp
- FireDaemon Pro
- EXE Service
EXE Service を使用します。なぜなら、NodeJSをサービスに変換するための既製の設定例を提供しているだけでなく、安定した動作を保証するためにサービスを修正するjsスクリプトも備えているからです。「EXE to Service」でJavaScript (ES2023) を使用することについて心配する必要はありません。サービスを修正し、サービスの状態が悪い場合に通知するために設計された独自のjsエンジンを使用しています。
Node.jsをWindowsサービスとして実行する方法
ステップ1: EXE Serviceを開く
EXE Service をインストールすると、デスクトップにショートカットが表示されます。
グラフィカルインターフェイスは、サービスの作成を簡素化するためだけのものです。グラフィカルインターフェイスのないWindows Server を実行している場合は、2つの選択肢があります:
- 通常のPCでサービスを作成し、サーバーに転送する。
- コマンドラインを使用して、サーバー上で直接 exeservice.exe を実行する。 (グラフィカルインターフェイスはWindows Nano/Coreをサポートしています)
ステップ2: 新しいサービスを作成する
EXE Serviceには、既製の js to Service (NodeJS) の例 がすでに含まれています。
「Create from example」 ボタンをクリックするだけです。

ステップ3: NodeJSスクリプトへのパスを設定する
表示されるウィンドウで、正しいパスを指定する必要があります:
- nodejs.exe実行ファイルへのパス:デフォルト:
C:\Program Files\nodejs\ - 作業ディレクトリ:スクリプトが配置されているフォルダを指定します。
- 引数:nodejsを実行するための引数を指定します。

ステップ4: サービスを保存して開始する
「Create Service」 をクリックして、Windowsサービスを作成します。
このコンピュータでサービスをすぐに開始したい場合は、「Start」 をクリックします。
これにより、NodeJSは以下のようになります:
- Windowsサービスとして起動する
- システムと共に自動的に起動する
- Windowsサービスマネージャー (
services.msc) を通じて管理可能になる
次の記事では、Node.jsがメモリリークを起こした場合の通知の作成方法と、重大な状況への対処方法について説明します。