13

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 ビットの実行可能ファイルを使用してみました。

私が欠けているものを誰か教えてもらえますか?他の誰かがこの問題を再現できますか?

4

3 に答える 3

-2

NSSM は通常 Node.js で正常に動作するため、これはおそらく権限の問題です。トラブルシューティングのために、商用アプリケーションで Node.js をセットアップする方法を示すこのチュートリアルを確認してください。また、問題の内容を示すより役立つエラー メッセージが返される場合があるため、30 日間の試用版も自由に使用してください。

于 2013-05-07T21:43:33.750 に答える