在Bluemix上部署nodeBB应用程序时出错。如何修复并成功部署?

时间:2016-11-30 12:45:12

标签: ibm-cloud nodebb

我想使用Compose for Redis服务在Bluemix上部署NodeBB。我按照https://docs.nodebb.org/en/latest/installing/os/osx-mavericks.html

上的设置说明操作

但是当我将应用程序推送到Bluemix时,应用程序无法启动。我收到一个错误。请参阅以下链接。

Error on pushing nodeBB on Bluemix

然而,nodeBB应用程序在我的本地macbook上运行正常。

如何解决此错误。请告诉我如何在Bluemix上成功部署nodeBB?

2 个答案:

答案 0 :(得分:1)

错误表示在暂存的应用程序中找不到public / uploads / sounds文件夹。它没有被推送到其他应用程序文件。

nodeBB应用程序使用此文件夹在运行时复制声音文件。要确保将空公用文件夹推送到Bluemix,请创建.cfignore文件。添加以下行

!/公共

答案 1 :(得分:1)

以下错误可能会阻止nodeBB应用程序在Bluemix上运行。

1)如果未正确设置Compose for Redis的凭据或Bluemix中的Compose of Redis

要正确设置Redis连接,请在Bluemix中创建Compose for Redis服务。然后从服务凭据复制Redis凭据,如下所示。

{
  "db_type": "redis",
  "name": "bmix_dal_yp_94747ceb_7c86_4319_b7be_88c2e9c829eb",
  "uri_cli": "redis-cli -h sl-us-dal-9-portal.0.dblayer.com -p PORT -a PASSWORD”,
  "deployment_id": "583e1bea52de460017000124",
  "uri": "redis://admin: PASSWORD@sl-us-dal-9-portal.0.dblayer.com:PORT”
}

PORT represents Redis port number and PASSWORD represents Redis password

运行命令./nodebb setup [在Unix或Mac上]时,使用凭据正确更新config.json

确保Compose for Redis服务已启动并正在运行。否则,启动时会从nodebb应用程序中获得连接错误。

2)如果在将应用程序推送到Bluemix之前,nodebb应用程序可以在Bluemix上侦听的端口没有更新到app.js,那么它将导致应用程序无法在Bluemix上启动。

更新

nconf.set('port',urlObject.port || nconf.get('port')|| nconf.get('PORT')||(nconf.get('PORT_ENV_VAR')?nconf.get( nconf.get('PORT_ENV_VAR')):false)|| 4567);

TO

nconf.set('port',process.env.VCAP_APP_PORT || urlObject.port || nconf.get('port')|| nconf.get('PORT')||(nconf.get('PORT_ENV_VAR ')?nconf.get(nconf.get('PORT_ENV_VAR')):false)|| 4567);

3)确保应用程序在本地计算机上运行时没有任何错误,然后再将其推送到Bluemix。命令:./ nodebb start OR node app.js

在本地设置和运行nodeBB的说明可以在这里找到ttps://docs.nodebb.org/en/latest/installing/os/osx-mavericks.html