mynode.js不';在没有报告任何错误的情况下,我们无法响应

mynode.js不';在没有报告任何错误的情况下,我们无法响应,node.js,Node.js,我在node.js中编写了http服务器,它类似于AmazonS3的反向代理,并使用node的集群模块nodejitsu/forever和Nginx将其部署在生产环境中。 它工作得很好,但有一天(今天)它停止了响应。我检查了节点的console.log()输出和进程,但没有发现任何奇怪的地方 我的代码要点如下: http.createServer(function(webReq, webRes) { http.get(s3Options, function(s3Res) { if (

我在node.js中编写了http服务器,它类似于AmazonS3的反向代理,并使用node的集群模块nodejitsu/forever和Nginx将其部署在生产环境中。 它工作得很好,但有一天(今天)它停止了响应。我检查了节点的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体验只有一周左右。我错过了一些重要的东西吗?

我关心的不是我的节点服务器没有响应的原因,而是它没有输出任何错误的原因。在本地测试了你的代码(请求
google.com
,因为我没有
s3Options
)的内容,并且它工作正常(提供了
在S3上找到的数据)。这个问题似乎与您实际的
s3Options
请求有关。谢谢您,lanzz。var s3Options={host:'*****.s3.amazonaws.com',端口:80,路径:webReq.url,方法:'GET',};但这在今天之前一直运作良好。我应该添加timeout参数吗?那么您正在记录其他消息?当你说服务器没有响应时,你是说1337的请求超时了吗?Matthew,是的,我在记录其他消息,在服务器停止之前一切正常。打开时,我的浏览器一直在加载,并没有停止。然后我重新启动,它又开始工作了。但我仍然担心同样的事情会再次发生。