node.js実行可能ファイルをダウンロードしました。その実行可能ファイルをWindowsサービスとして実行するにはどうすればよいですか?複数のバージョンのnode.jsを同時に実行する必要があるため、標準のnode.jsインストーラーを使用できません。
8 に答える
私はそれが非常に便利であることを発見したので、さらに使いやすいラッパーを作成しました ( npm、github )。
インストール:
npm install -g qckwinsvc
サービスのインストール:
qckwinsvc
prompt: Service name: [name for your service]
prompt: Service description: [description for it]
prompt: Node script path: [path of your node script]
Service installed
サービスのアンインストール:
qckwinsvc --uninstall
prompt: Service name: [name of your service]
prompt: Node script path: [path of your node script]
Service stopped
Service uninstalled
WinSerは、人気のあるNSSM (Non-Sucking Service Manager)の node.js フレンドリーなラッパーです。
次に、IIS のようにノードをサービスとしてホストしたいと考えました。このようにして、自分のマシンで起動し、バックグラウンドで実行し、クラッシュした場合は自動的に再起動します。
ここで、吸い込まないサービス マネージャーであるnssmが登場します。このツールを使用すると、通常の .exe を Windows サービスとしてホストできます。
ノードアプリケーションのインスタンスをサービスとしてセットアップするために使用したコマンドは次のとおりです。管理者のようにコマンドを開き、次のコマンドを入力します。
nssm.exe install service_name c:\your_nodejs_directory\node.exe c:\your_application_directory\server.js net start service_name
私は質問に直接対処しているわけではありませんが、node.js の方法で要件を満たす代替手段を提供しています。
機能的な要件は次のとおりです。
- ロジック (アプリ) をバックグラウンドで実行する
- ロジックを開始/停止できる
- システム起動時にロジックを自動起動
これらの要件は、プロセス マネージャー (PM) を使用し、システムの起動時にプロセス マネージャーを起動することで満たすことができます。Windows に適した 2 つの優れた PM は次のとおりです。
PM を自動的に開始する最も簡単な方法は、「起動時」トリガーを使用してスケジュールされたタスクを作成することです。