2016-04-25 73 views
1

我有一次运行ec2实例和pencilblue运行在另一个实例上的mongodb。 安装penciulblue后,我使用命令pbctrl start来启动服务器。然后我得到以下错误如何连接运行在两个不同AWS EC2实例上的pencilblue和mongodb?

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文件pencilblue的,如下提前

"db": { 
     "type": "mongo", 
     "servers": [ 
      "mongodb://<private IP of mongodb EC2 inatnce>:27017/" 
     ], 
     "name": "pencilblue", 
     "writeConcern": 1 
    } 

感谢我所提到的数据库的细节。

回答

0

打开的端口,你的MongoDB服务器是,允许从你的PencilBlue服务器是在安全组访问安全组的27017。

另外,还要确保你已经在你的MongoDB配置更新bind_ip设置,以便它会监听localhost之外的连接。

+0

我已经将运行pencilblue的实例的pubilc DNS分配给mongod.config文件中的'bind_ip'。仍然我面临山姆错误 –

+0

@ avenger_9我不认为这将工作。只要将bind_ip更改为'0.0.0.0' –

+0

谢谢@Mark B –

相关问题