2013-03-01 113 views
2

我創建了兩個AWS實例,併爲它們分配了兩個不同的彈性IP。一個實例用於數據庫服務器(在MongoDB中託管),另一個用於託管網站。無法連接到其他服務器上託管的MongoDB - PHP

我無法通過我的PHP代碼連接到服務器。我的代碼看起來下:

try{ 
    $connection = new Mongo('mongodb://107.21.230.121:27017'); 
} 
    catch (MongoConnectionException $exception) 
{ 
    print_r($exception->getMessage()); 
} 

當我跑在我的網站的代碼,我得到以下錯誤:

"Failed to connect to: 107.21.230.121:27017: Timed out after 0 ms."

我已簽上的MongoDB正在運行的服務器。使用Mongo shell,我也能夠創建一些集合和文檔。

已經嘗試過各種策略沒有成功。有人可以建議我在哪裏設置錯了?

+0

是允許連接到該數據庫的主機?防火牆設置? – 2013-03-01 17:53:51

+0

我沒有使用任何防火牆。也沒有限制任何IP連接。 – 2013-03-01 17:55:25

+0

afair MongoDB默認綁定到本地主機 – mensi 2013-03-01 17:55:56

回答

2

從您的實例的快速而髒的nmap掃描來判斷,它看起來好像還沒有打開安全組中的端口(27017)。這將需要在端口服務器上完成。

+0

我已經嘗試了一切打開端口。這是所有我曾嘗試: 1.服務站的mongod 2.六/etc/mongod.conf(加我的第二個服務器的ip bind_ip) 3.服務啓動mongod的 4. iptables的INPUT -s - p tcp -m tcp --dport 27017 -j ACCEPT 仍然沒有運行。我不是MongoDB的老朋友。只是從MySQL過渡到MongoDB,它是傷害了很多:( – 2013-03-05 15:59:34

+0

在AWS上的安全組中,你需要打開端口27107,這不是在實例本身,它在ec2控制檯。http:// docs .aws.amazon.com/AWSEC2 /最新/ UserGuide /使用網絡,security.html安全 – 2013-11-18 04:41:16

相關問題