以下错误可能会阻止 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