我现在正在努力解决这个问题一天。我在Google / SO上找不到任何东西,所以我希望你们中的任何人都可以帮助我。
我有一个MEAN堆栈应用程序,我想部署到Bluemix实例。
在Bluemix上我创建了:
我确实将mongodb实例绑定到app。
当我使用cf push“myapp”从我的电脑部署时,一切都运行良好,直到应用程序启动。我收到以下错误:
2016-12-03T01:20:24.30 + 0100 [App / 0] OUT {[MongoError:在replicaset中找不到主要内容] 2016-12-03T01:20:24.30 + 0100 [App / 0] OUT名称:'MongoError', 2016-12-03T01:20:24.30 + 0100 [App / 0] OUT消息:'在replicaset中找不到主要'} 2016-12-03T01:20:24.35 + 0100 [App / 0] ERR错误:永久检测到的脚本退出代码:0 2016-12-03T01:20:24.36 + 0100 [App / 0] ERR错误:脚本重启尝试#3 2016-12-03T01:20:26.25 + 0100 [App / 0] ERR无法连接到MongoDB! 2016-12-03T01:20:26.25 + 0100 [App / 0] OUT url mongodb:// xxx:xxx@sl-eu-lon-2-portal.3.dblayer.com:15736,sl-eu-lon- 2-portal.2.dblayer.com:15736/admin?ssl=true
(我通过在部署后运行cf日志来看到这一点)
部署输出以此结束(我假设看到这个,应用程序本身没问题,只是启动不起作用):
0 of 1 instances running, 1 starting
0 of 1 instances running, 1 starting
0 of 1 instances running, 1 starting
0 of 1 instances running, 1 starting
0 of 1 instances running, 1 starting
0 of 1 instances running, 1 starting
0 of 1 instances running, 1 starting
0 of 1 instances running, 1 starting
0 of 1 instances running, 1 starting
0 of 1 instances running, 1 down
0 of 1 instances running, 1 down
0 of 1 instances running, 1 down
0 of 1 instances running, 1 starting
0 of 1 instances running, 1 starting
0 of 1 instances running, 1 starting
0 of 1 instances running, 1 starting
0 of 1 instances running, 1 starting
0 of 1 instances running, 1 starting
0 of 1 instances running, 1 starting
0 of 1 instances running, 1 starting
这些是我正在使用的cloud-foundry.js的相关部分。我已经检查过环境设置是否正确:
'use strict';
var cfenv = require('cfenv'),
appEnv = cfenv.getAppEnv();
var cfMongoUrl = (function() {
if (appEnv.getService('mean-mongo')) {
var mongoCreds = appEnv.getService('mean-mongo').credentials;
return mongoCreds.uri || mongoCreds.url;
} else {
throw new Error('No service names "mean-mongo" bound to the application.');
}
}());
...
module.exports = {
port: appEnv.port,
db: {
uri: cfMongoUrl,
options: {
user: '',
pass: ''
}
},
...
}
有没有人知道如何解决这个问题以及为什么会这样?我是否需要创建副本实例?这是如何工作的?
感谢任何帮助。谢谢!