【问题标题】:CF : ERR Failed to make TCP connection to port 8080: connection refusedCF : ERR 无法与端口 8080 建立 TCP 连接:连接被拒绝
【发布时间】:2018-09-27 12:18:29
【问题描述】:

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

按照 CF wiki 中的建议,我使用 nodejs_buildpack 来 构建我的应用程序,以便可以通过 CF PaaS 运行。

虽然我不需要这个,如果我推送自己的缓存 CF空间中的node_modules依赖文件夹,如有错误请指正?

以下截图代表 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。看起来在部署过程中考虑了这两个的添加。

我的更新配置是,

【问题讨论】:

    标签: cloud-foundry


    【解决方案1】:

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

    以上语句中,端口为8080,仅在本地运行时。

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

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

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

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

    请浏览 PCF 上的文档

    【讨论】:

    • 我看到该应用程序由于内存不足而未部署,但在我的机器上下载的依赖项的应用程序大小仅为 135 Mb。我在公司环境中工作,其中 CF 中的空间是由其他人分配给我的。我将与操作人员核实,并尝试在清单中增加内存并在此处更新。
    • 谢谢,将内存更新到 1G 后,它开始工作了。它的内存问题
    猜你喜欢
    • 1970-01-01
    • 2018-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-22
    • 2021-11-13
    • 1970-01-01
    相关资源
    最近更新 更多