3

我最近在 Vagrant 上运行的 CentOS 6 VM 上安装了 mongodb。

我将端口转发添加到 Vagrantfile 以转发 mongo 端口

config.vm.forward_port 27017, 127017

我将 mongod 配置为在服务器启动时自动启动,并确认服务按预期启动。

但是,当我mongo localhost:127017从主机(不是流浪者)运行时,出现以下错误

MongoDB shell version: 1.8.2
connecting to: localhost:127017/test
Fri Jan 20 13:58:28 getaddrinfo("127.0.0.1") failed: nodename nor servname provided, or not known
Fri Jan 20 13:58:28 Error shell/mongo.js:81
exception: connect failed

有任何想法吗?

4

4 回答 4

19

您需要将 mongod bind_ip 设置为 0.0.0.0 而不是 127.0.0.1(这是环回地址),以便所有接口都可以访问它。

于 2012-03-27T10:15:07.600 回答
9

TCP 端口号是 16 位无符号的,这意味着最大值是 65535 (2^16),而您正在尝试使用 127017。

于 2012-01-20T21:09:07.927 回答
0

您可以从 vagrant ssh 连接到 mongo 服务器吗?如果没有,您可能需要确保 mongod 正在运行。

您是否ip_bind在 mongodb.conf 或 mongod 启动脚本中进行了设置?(如果你这样做了,你可能想取消它——不完全确定 vagrant 的端口转发是如何工作的,但这可能是导致问题的原因。)

于 2012-01-24T01:25:32.547 回答
-3

bind_ip to 0.0.0.0不起作用。试试bind_ip=127.0.0.1,10.0.0.25,这对我有用。

于 2013-11-07T19:55:23.963 回答