2017-10-08 120 views
1

我有一个mongod实例的ubuntu 16.04虚拟服务器上运行,在本地主机上监听端口27017:本地蒙戈客户端无法连接到本地的mongod服务器

netstat -tulpn : 

tcp  0  0  127.0.0.1:27017   0.0.0.0:*    LISTEN  11639/mongod  

但本地mongo客户端脚本无法在端口27017上连接:

MongoDB shell version v3.4.9 

connecting to: mongodb://127.0.0.1:27017 

W NETWORK [thread1] Failed to connect to 127.0.0.1:27017 after 5000ms milliseconds, giving up. 
E QUERY [thread1] Error: couldn't connect to server 127.0.0.1:27017, connection attempt failed : 
[email protected]/mongo/shell/mongo.js:237:13 
@(connect):1:6 
exception: connect failed 

一切都是本地的,所以AFAIK所有端口都打开。

服务器日志只是说:

我网[线程1]正在等待连接端口27017

什么可以解释的连接失败?

回答

0

这是一个网络绑定问题。尝试连接到mongodb://localhost:27017
另外,请尝试在mongod启动时注释掉bind_ip参数,例如,

# bind_ip = 127.0.0.1                

mongo CLI是否连接?如果是这样,请仔细检查客户端脚本调用参数是否正确传递。

要额外确保mongod运行,试试这个太:

$ curl 'http://localhost:27017' 
It looks like you are trying to access MongoDB over HTTP on the native driver port. 
+0

蒙戈CLI不选择连接。评论#bind_ip并尝试在本地主机上的连接没有帮助。 – FH35

+0

你确定mongod实际上在运行吗?你有没有尝试一直支持到两个窗口,启动mongod并将所有选项暴露在前景中,并尝试通过另一个中的CLI进行连接? –

+0

是的。在一个窗口中,我手动运行命令:/ usr/bin/mongod --port 27017 --bind_ip 127.0.0.1 --logpath /var/log/mongodb/mongodb.log --dbpath/var/lib/mongodb --logappend - 叉子。在另一个mongo上。但仍然没有联系。很奇怪... – FH35

2

在我看来,你用蒙戈CLI之前,你应该开始的mongod。

$ sudo mongod 

$ sudo service mongod restart 

和检查的mongod服务的状态

$ sudo service mongod status 

然后用蒙戈外壳

$ mongo 
相关问题