我想使用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?
答案 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