繁体   English   中英

一段时间后,NodeJS服务器停止在端口上侦听

[英]NodeJS server stops listening on port after sometime

我的NodeJS服务器在一段时间(几天)的随机间隔后停止监听请求。 我的节点服务器在3个负载平衡器上运行,每个群集有4个节点。 PM2日志显示内部cron仍在运行,并且我认为没有任何未响应的请求处于打开状态。

这些是从内部访问时来自生产服务器的日志:

[root@app_inst_1 ~]# curl localhost:3000
curl: (7) couldn't connect to host

PM2日志:

0|server   | No records found to reconcile
0|server   | undefined

pm2重新启动后:

[root@app_inst_1 ~]# curl localhost:3000
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Redirect URL</title>
<script type="text/javascript">
    function postResponse(data) {
        document.write(data);
          CitrusResponse.loadWalletResponse(data);
    }
        var url = window.location.href;
        var index = url.indexOf("#");
        if(index != -1){
            var queryString = url.substring(index + 1);     
            postResponse("#"+queryString);
        }           
</script>
</head>
<body>
</body>

实际上是由于JavaScript中的TypeError。 当您的应用程序运行的日志过多时,您可能永远都不会深入日志文件来查找TypeError。 在发生TypeError期间,节点服务器不会崩溃,但是除非使用某些异常处理程序或其他机制处理,否则不会处理在端口上发出的请求,这将导致太多的请求排队等待服务,最终导致nodejs服务器端口停止侦听任何新请求。 因此,最好查看您的日志文件并搜索任何TypeError。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM