2012-07-24 109 views
2

我試圖連接到運行在遠程Linux服務器上的MongoDB實例。連接嘗試超時導致我懷疑Linux服務器上的網絡設置,因爲我可以SSH訪問服務器並在本地連接到MongoDB。遠程連接到Linux服務器上運行的MongoDB

/etc/mongod.conf沒有設置bind_ip,所以這不是問題。

任何人都可以指出我如何解決這個問題?

回答

2

你能telnet到遠程主機的MongoDB端口並連接成功嗎?

如果是這樣,這意味着端口是開放的,連接工作,它不是防火牆/ iptables等問題。你應該看看下一部分 - 你是否啓用了身份驗證?

如果你不能連接telnet,那麼有些東西阻止你從遠程主機到那個端口。它可能是防火牆,也可能在主機上 - 這取決於你的設置和基礎設施。

+0

'telnet'超時,所以我想這是一個防火牆/ iptables的問題。你知道我會在哪裏找到這些配置嗎? – Chania 2012-07-24 14:06:57

+1

這實際上取決於你已經部署的位置。首先,確保(再次)本地主機連接成功。接下來,對於Linux上的本地內容,首先確保你沒有運行SELinux或類似的東西(真的只是一個RHEL的東西)。接下來,您需要檢查iptables,看看是否丟棄了任何東西(如root:'iptables -L -vn')。對於非本地防火牆設置,您需要聯繫您的網絡管理員,或者查看亞馬遜的安全區域,或者任何類似的東西。 – 2012-07-24 16:38:57

1

刪除mongoDB獲取的任何鎖 sudo rm -rf /data/configdb/mongod.lock;

創建的配置和碎片服務器

sudo mkdir /data; 
sudo mkdir /data/db; 
sudo mkdir /data/configdb; 
sudo chown -R ubuntu:ubuntu /data; 
sudo chmod -R 755 /data 

數據目錄給的權利,以上創建的文件夾。 授予上述創建的文件夾的所有權。

現在嘗試連接到mongodb,它現在肯定會連接。

+0

很好的解釋 – Moitt 2015-04-14 12:35:50