0

我想使用 Compose for Redis 服务在 Bluemix 上部署 NodeBB。我按照https://docs.nodebb.org/en/latest/installing/os/osx-mavericks.html上的设置说明进行操作

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

在 Bluemix 上推送 nodeBB 时出错

但是 nodeBB 应用程序在我的本地 macbook 上运行良好。

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

4

2 回答 2

1

该错误表明在暂存的应用程序中找不到 public/uploads/sounds 文件夹。它不会与其他应用程序文件一起被推送。

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

!/上市

于 2016-11-30T13:03:04.780 回答
1

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

1) 如果 Compose for Redis 的凭证设置不正确或 Redis 的 Compose 在 Bluemix 中不可用

为了正确设置 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) 如果nodebb 应用程序在Bluemix 上可以监听的端口在将应用程序推送到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

于 2016-11-30T13:20:12.820 回答