我已经在本地计算机上安装了MongoDB,同时遵循this教程和this。我使用了我的本地用户(在所有命令中使用sudo),然后我做了:
sudo service mongod start
它说start: Job is already running: mongod
。然后当我运行这个命令时
sudo mongo
我得到了
MongoDB shell版本:2.6.0 连接到:测试 2014-07-08T12:33:40.360 + 0200警告:无法连接到127.0.0.1:27017,原因:错误号:113无路由到主机 2014-07-08T12:33:40.361 + 0200错误:无法连接到服务器127.0.0.1:27017(127.0.0.1),src / mongo / shell / mongo.js上的连接尝试失败:146 异常:连接失败
这也是netstat -tpln
(No info could be read for "-p": geteuid()=1000 but you should be root.)
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp
0 0 0.0.0.0:27017 0.0.0.0:* LISTEN -
这也是sudo /sbin/iptables -L -n
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:80
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:5432
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:8080
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:8443
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:3306
ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 icmptype 255
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
ACCEPT tcp -- 127.0.0.1 0.0.0.0/0 tcp dpt:27017 state NEW,ESTABLISHED
ACCEPT tcp -- 127.0.0.1 0.0.0.0/0 tcp dpt:27017 state NEW,ESTABLISHED
ACCEPT tcp -- 127.0.0.1 0.0.0.0/0 tcp dpt:27017 state NEW,ESTABLISHED
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- 0.0.0.0/0 127.0.0.1 tcp spt:27017 state ESTABLISHED
ACCEPT tcp -- 0.0.0.0/0 127.0.0.1 tcp spt:27017 state ESTABLISHED
ACCEPT tcp -- 0.0.0.0/0 127.0.0.1 tcp spt:27017 state ESTABLISHED
我已经遵循了几个建议的解决方案,但从未奏效。有什么建议吗?
我已经遵循了几个建议的解决方案,但从未奏效。有什么建议吗?
答案 0 :(得分:1)
这很可能是您的发行版中的防火墙问题。基于iptables
的输出,mongod进程正在监听27017
端口,但您需要摆脱此防火墙规则:
REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
这似乎导致了这个问题。要了解相关信息,请在iptables
(-F
)中清除规则和/或在ubuntu中禁用ufw
可以解决问题。