1

Amazon S3 のリバースプロキシのような node.js で http サーバーを作成し、Node の Cluster モジュール nodejitsu/forever と Nginx を使用して本番環境にデプロイしました。非常にうまく機能しましたが、ある日 (今日) 応答しなくなりました。node の console.log() の出力とプロセスを確認しましたが、奇妙なことは何も見つかりませんでした。

私のコードの要点は次のようなものです:

http.createServer(function(webReq, webRes) {
  http.get(s3Options, function(s3Res) {
    if (s3Res.statusCode == 200) {
      s3Res.on('end', function() {
        webRes.end('Found data on S3');
      });
    } else {
      webRes.end('No data on S3'); 
    }
  }).on('error', function(e) {
    console.log('problem with s3Req: ' + e.message);
  });
}).listen(1337);

ノード プロセスは、永遠に再起動することなく、すべて有効です (2 つの子ワーカー)。

# ps x | grep node
31436 ?  Ss  3:43 node /usr/bin/forever -l LOG -o OUT -e ERR -a start server.js
31437 ?  Sl  0:10 node /root/server.js
31440 ?  Sl  1:17 /usr/bin/nodejs /root/server.js
31441 ?  Sl  1:17 /usr/bin/nodejs /root/server.js

次に、接続が多すぎるのではないかと疑って「lsof -p PID | wc -l」を実行しましたが、カウントはすべて良好な状態でした-数十しかありませんでした。

私の node.js の経験はわずか 1 週間程度です。何か重要なことを見逃しましたか?

4

0 に答える 0