Mongo 3.2 版
我在 AWS 的一个实例上设置了 MongoDB。
然后我将它添加到安全组中,作为防火墙的异常(exception)。具体来说,我将其设置为客户 TCP 规则,但端口 27017 除外。
如果我 ssh 到实例并执行以下操作:
netstat -pl
我可以在输出中看到:
tcp 0 0 localhost:27017 : LISTEN 2025/mongod
所以 mongodb 正在运行,它正在监听端口 27017,并将 27017 的异常添加到防火墙中。
但在我的本地 Mac 上,当我尝试连接时,出现错误:
mongo ec2-154-52-32-196.compute-1.amazonaws.com:27017/vvvvv -u ccccc -p xxxx
MongoDB shell version: 3.2.6
connecting to: ec2-54-152-232-96.compute-1.amazonaws.com:27017/vvvvv
2016-05-06T09:52:07.281-0400 W NETWORK [thread1] Failed to connect to 54.152.232.96:27017, reason: errno:61 Connection refused
2016-05-06T09:52:07.281-0400 E QUERY [thread1] Error: couldn't connect to server ec2-54-152-232-96.compute-1.amazonaws.com:27017, connection attempt failed :
connect@src/mongo/shell/mongo.js:231:14
@(connect):1:6
exception: connect failed
我还需要做什么才能连接?
[[更新]]
所以我:
emacs /etc/mongod.conf
我加上 0.0.0.0:
net:
port: 27017
bindIp: 127.0.0.1,0.0.0.0
然后:
service mongod restart
mongod stop/waiting
mongod start/running, process 5315
但我仍然遇到与以前相同的错误
嗯,我在 netstat -pl 中不再看到它了
最佳答案
从 netstat 输出:
tcp 0 0 localhost:27017 : LISTEN 2025/mongod
- 看起来它只接受来自 localhost(samehost) 的连接 - 你必须让它在 0.0.0.0 或公共(public) IP 上运行。
关于AWS 实例上的 MongoDB,原因 : errno:61 Connection refused,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37074486/