NSSM ( http://nssm.cc/ ) を使用して NodeJS プロセスを開始する方法に関する無数の記事を見てきました。
したがって、次の単純な NodeJS ファイルがあります。
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, { 'Content-Type': 'text/html' });
res.end('<p>Hello World</p>');
}).listen(8000);
console.log('Server running on http://localhost:8000/');
このコマンドを使用して、NodeJS ファイルを Windows サービスとしてインストールしています。
"C:\Program Files\SimpleNode\nssm.exe" install SimpleNode "C:\Program Files\SimpleNode\node.exe" "C:\Program Files\SimpleNode\simple.js"
サービスがインストールされます。サービスを開始するとエラー メッセージが表示され、サービスが一時停止状態になり、イベント ビューアーに次のエラーが表示されます。
GetProcessTimes() が失敗しました: ハンドルが無効です。
これはかなり単純なはずです。ローカル管理者権限を持つドメイン アカウントを使用してみました。いくつかの異なるポート番号を試しました。コマンドラインからアプリを起動すると、アプリは正しく動作します。
その他の注意: これは 64 ビットの Windows 2008 R2 サーバーで実行されています。NSSM と Node.js の両方ですべての 64 ビット実行可能ファイルを実行していることを確認しました。また、両方に 32 ビットの実行可能ファイルを使用してみました。
私が欠けているものを誰か教えてもらえますか?他の誰かがこの問題を再現できますか?