如何更正无法接受连接的Bluemix Node.js应用程序

时间:2015-10-06 19:35:35

标签: node.js ibm-cloud

我今天早上在Bluemix上创建了一个新的Node.js应用程序并下载了样板代码。我在当地工作,然后把它推了上去。在Bluemix上,它拒绝启动。根据日志的错误是:

Instance (index 0) failed to start accepting connections

所以我用Google搜索,在我发现结果的每一个案例中,答案是我的应用程序试图使用特定端口而不是让Bluemix设置它。

好的,但是我使用样板使用的完全代码设置主机/端口:

var appEnv = cfenv.getAppEnv();
// start server on the specified port and binding host
app.listen(appEnv.port, function() {
  // print a message when the server starts listening
  console.log("server starting on " + appEnv.url);
});

因此,如果这是不正确的,这意味着Bluemix告诉我下载本身的代码也是错误的,我无法想象这就是问题。

1 个答案:

答案 0 :(得分:5)

为了确定cfenv是否有问题,我已经使用一些更复杂的Node.js应用程序测试了这段代码,并且它们在Bluemix上完美运行。

当您部署到Bluemix的应用程序根本无法启动时,也会出现此消息。您可以采取以下措施对Bluemix上的Node.js应用程序进行故障排除。

  1. 使用" cf日志推送时,尾部登录另一个终端 &#34 ;.失败后检查日志是否有问题 在分段过程中失败。
  2. 检查您的启动命令是否位于两个推荐位置之一,scripts.start package.jsonProcfile web: node <start-script>
  3. 检查您的应用程序是否在本地运行。首先(可选),使用&#34; / node_modules&#34;创建一个.cfignore文件。因此,当您将应用程序推送到Bluemix时,CF CLI不会推送整个node_modules文件夹(因为它们将动态安装)。接下来,清除node_modules目录并执行npm install --production,然后执行npm start(或您的自定义启动命令)。这是Bluemix在尝试启动应用程序时所做的事情,因此您应该仔细检查它是否在本地运行。
  4. 最后,尝试提高你的记忆力,尽管这不太可能导致你的应用程序无法启动。