CLOUD9 + +的MongoDB的NodeJS(cloud9 + mongodb + nodej

2019-10-16 17:43发布

我使用CLOUD9 IDE编码的新项目。 当我部署从cloud9ide cloudfoundry。 我有错误

应用程序未能启动。 请注意,CloudFoundry使用不同的端口来听。 当调用 '听()' 使用它像 '听(process.env.PORT || process.env.VCAP_APP_PORT)'。

这是我的源

VAR =端口(process.env.VMC_APP_PORT || 3000);

变种宿主=(process.env.VCAP_APP_HOST || '本地主机');

VAR = HTTP要求( 'HTTP');

VAR ENV = process.env.VCAP_SERVICES? JSON.parse(process.env.VCAP_SERVICES):空;

VAR mongodata = ENV [ '的mongodb-1.8'] [0] [ '凭证'];

http.createServer(功能(REQ,RES){

res.writeHead(200,{ '内容 - 类型': 'text / plain的'});

res.end(的 'Hello World \ n' + ENV); })听(端口,主机)。

此源有错误,当我得到蒙戈对象

VAR mongodata = ENV [ '的mongodb-1.8'] [0] [ '凭证'];

但没有这条线成功部署

请帮我 !!

非常感谢

Answer 1:

正如CLOUD9控制台中的错误可能会告诉你(因为它告诉我,当我尝试这个:-)):

haalasdoallalsakdl (CloudFoundry): [5/6] Crash log
============/logs/stderr.log============
node.js:201
        throw e; // process.nextTick error, or 'error' event on first tick
              ^
TypeError: Cannot read property '0' of undefined
    at Object.<anonymous> (/var/vcap/data/dea/apps/haalasdoallalsakdl-0-8be0d413a9ec29a79f665d388ce414bd/app/server.js:7:35)
    at Module._compile (module.js:432:26)
    at Object..js (module.js:450:10)
    at Module.load (module.js:351:31)
    at Function._load (module.js:310:12)
    at Array.0 (module.js:470:10)

所以在没有进入VCAP_SERVICES叫这样。 当我console.logprocess.env变量,没有上市甚至没有任何服务。

所以你必须安装MongoDB的服务,为您的应用程序。 最快要做到这一点是通过CF VMC工具(不能在CLOUD9目前运行它,所以你必须在本地安装此):

vmc create-service mongodb --bind your_app_name

然后,它会开始了罚款。

NB你或许可以在.yml文件中解决这个问题,但我不知道如何做到这一点:-)



文章来源: cloud9 + mongodb + nodejs