2012-01-20 64 views
3

我最近在運行在流浪者上的CentOS 6 VM上安裝了mongodb。MongoDB通過端口轉發問題在流浪者問題

我添加端口轉發到Vagrantfile轉發蒙戈端口

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 

什麼想法?

+0

我不能重現使用centos 6.2 w/mongodb 2.0.2。你在跑什麼樣的盒子,你從哪裏得到它? –

+0

這個問題來自於試圖從主機(MacOSX) – joseym

+0

上查詢流浪者(centos 6)上的mongo服務器嗎?你有任何其他正在工作的端口(80,22)嗎?此外,端口轉發需要重新啓動虛擬機,否則VirtualBox將無法啓動端口。 –

回答

8

TCP端口號是16位無符號,這意味着最大值爲65535(2^16),而你用127017.

0

試圖您可以連接到從無業遊民SSH蒙戈服務器?如果沒有,您可能需要確保mongod正在運行。

您是否在您的mongodb.conf或mongod啓動腳本中設置了ip_bind? (如果你這樣做,你可能想要取消它 - 不完全確定vagrant的端口轉發是如何工作的,但這可能是導致問題的原因。)

+0

是的,我能夠從流浪SSH做一個mongo查詢。這個問題來自於試圖從主機(MacOSX)查詢mongo服務器, – joseym

19

您需要將mongod bind_ip設置爲0.0.0.0,而不是127.0.0.1(這是回送地址),以便所有接口都可以訪問它。

-2

bind_ip to 0.0.0.0不起作用。嘗試bind_ip=127.0.0.1,10.0.0.25,這對我有效。