CF : ERR 无法与端口 8080 建立 TCP 连接:连接被拒绝

CF : ERR Failed to make TCP connection to port 8080: connection refused

所以,我最近开始使用 CF 并使用它来将 nodejs 应用程序发布到我的 cf space。

As suggested in the CF wiki, I have used the nodejs_buildpack to build my app so that can be run via CF PaaS.

Although I don't need this if I push my own cached node_modules dependency folder in the CF Space , please correct me if I am wrong ?

以下屏幕截图代表 cf push 的输出,

输出:CF logs STARS --recent

manifest.yml

---
applications:
- name: STARS
  buildpack: nodejs_buildpack
  memory: 256m
  disk_quota: 512MB
  instances: 1
  command: npm run build

我不明白为什么 8080 会失败,因为这在我的机器上非常有效。即 localhost:8080

虽然我确实按以下方式设置了快递,

app.set('port', process.env.PORT || 8080);

// set up listening
app.listen(port, function (err) {
  if (err) {
    console.log(err)
  } else {
    opn('http://localhost:' + app.get('port'))
  }
})

--更新--

正如@K.AJ 在下面的回答中所建议的那样,我尝试将清单中的内存限制从 256 增加到 512,你知道它开始工作的原因。 :)

但有点奇怪的是内存分配179.4M,磁盘分配206.1M。貌似在部署过程中考虑了这两个的添加。

我更新的配置是,

app.set('port', process.env.PORT || 8080);

上面的语句中,端口是8080,只有在本地运行ning的时候。

在像 PCF 这样的云平台上,您无法控制应用 运行ning 的端口。

如果您仔细查看错误消息,您的应用会因内存不足错误而崩溃。 256MB 内存不够用。首先尝试将其设置为 1GB,使其正常工作,然后对其进行优化。

假设您已成功部署应用,运行 cf apps。它应该列出已部署的应用程序以及路线。

为您的应用复制路由 url,然后在浏览器中 运行。如果您的应用实例健康且处于 运行ning 状态,您应该能够看到您的应用。

请阅读 PCF 上的文档