因此,我最近开始使用CF,并且正在使用CF将Node.js应用发布到我的cf空间。
如CF Wiki中所建议,我已经使用 nodejs_buildpack 来 构建我的应用程序,以便可以通过CF PaaS运行。
尽管如果我推送自己的缓存,我不需要这个 CF Space 中的node_modules依赖文件夹,如果我输入错了,请纠正我吗?
以下屏幕截图表示cf push的输出,
以下内容的输出: CF记录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的磁盘分配存在一点奇怪。似乎在部署过程中考虑了将这两者加在一起。
我更新的配置为
答案 0 :(得分:4)
Item | t1 | t2 | t3 |
A 3 1 3
B 2 5 4
C.. 1 1 4
在上面的语句中,仅当在本地运行时,端口为8080。
在PCF等云平台上,您无法控制应用程序将在哪个端口上运行。
如果您仔细查看错误消息,则表明由于内存不足错误,您的应用程序崩溃了。 256MB内存不足以容纳它。尝试先将其设置为1GB,使其正常运行,然后对其进行优化。
假设您已经成功部署了应用程序,请运行app.set('port', process.env.PORT || 8080);
。它应该列出您已部署的应用程序以及路由。
复制您应用的路线网址,然后在浏览器中运行它。只要您的应用实例运行正常且处于运行状态,您就应该能够看到您的应用。
请仔细阅读PCF上的文档