Как соединить карандашный синий и mongodb, работающие на двух разных экземплярах AWS EC2?
У меня mongodb запущен на одном экземпляре ec2, а карандашный на другом. После установки penciulblue я использовал команду pbctrl start
запустить сервер. Тогда я получаю следующую ошибку
2016-04-25T20:35:12.100Z - error: [1] System[1]: uncaught Exception detected : Error: MongoError: connect ECONNREFUSED - mongodb://<private IP of mongodb EC2 inatnce>:27017/pencilblue?
Is your instance running?
at /home/ubuntu/PencilBlue/pencilblue/include/dao/db_manager.js:113:31
at /home/ubuntu/PencilBlue/pencilblue/node_modules/mongodb/lib/mongo_client.js:267:20
at /home/ubuntu/PencilBlue/pencilblue/node_modules/mongodb/lib/db.js:218:14
at null.<anonymous> (/home/ubuntu/PencilBlue/pencilblue/node_modules/mongodb/lib/server.js:226:9)
at g (events.js:180:16)
at emit (events.js:98:17)
at null.<anonymous> (/home/ubuntu/PencilBlue/pencilblue/node_modules/mongodb/node_modules/mongodb-core/lib/topologies/server.js:263:68)
at g (events.js:180:16)
at emit (events.js:98:17)
at null.<anonymous> (/home/ubuntu/PencilBlue/pencilblue/node_modules/mongodb/node_modules/mongodb-core/lib/connection/pool.js:77:12)
в config.js
файл карандаша, я упомянул детали БД следующим образом
"db": {
"type": "mongo",
"servers": [
"mongodb://<private IP of mongodb EC2 inatnce>:27017/"
],
"name": "pencilblue",
"writeConcern": 1
}
Заранее спасибо.
1 ответ
Решение
Откройте порт 27017 группы безопасности, в которой находится ваш сервер MongoDB, чтобы разрешить доступ из группы безопасности, в которой находится ваш сервер PencilBlue.
Также убедитесь, что вы обновили bind_ip
настройка в вашем конфиге MongoDB, чтобы он прослушивал соединения вне localhost.