Mongo 3.2版
我在AWS的一个实例上设置了MongoDB .
然后我将其添加到安全组,作为防火墙的例外 . 具体来说,我将其设置为客户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中看到它了
2 回答
从netstat输出:
tcp 0 0 localhost:27017 : LISTEN 2025/mongod
- 看起来它只接受来自localhost(samehost)的连接 - 你必须使它在0.0.0.0或公共IP上运行 .检入/etc/mongod.conf
注释该行并重新加载该服务 . 它应该工作 .