在Linux上获取MongoDB来监听远程连接

我已经在Windows(本地机器)上成功安装了MongoDB作为服务,但现在我想将MongoDb移动到单独的服务器上。 所以我提取了tarball到networking上的虚拟服务器(运行linux)。

当我使用本地机器上的PuTTY连接到服务器(“testmongoserver”)时,我启动了mongod服务器,它告诉我它正在侦听默认的28017端口。 mongo控制台也工作,并允许我创build一个新的数据库(testdb),并添加用户。

但是,我无法从远程访问服务器。 当我input“testmongoserver:28017”它不会打开HTTP控制台作为本地计算机上的“localhost:28017”。 我也无法连接使用官方驱动程序,并提供连接string。

什么是在Linux上安装MongoDB的重要步骤,以便我可以使用连接string从远程机器访问它,并通过testmongoserver使用它的HTTP控制台:28017

谢谢!

  1. 在Mongo服务器上运行netstat -a并检查一个端口。
  2. 检查DNS设置并检查Linux服务器是否允许外部连接。
  3. 检查mongodb是否可以接受外部/远程连接。

mongo的默认端口是27017. 28017 – webstats的端口。

请参阅http://www.mongodb.org/display/DOCS/Security+and+Authentication#SecurityandAuthentication-Ports

1.绑定IP选项

绑定IP是一个MongoDB选项,限制连接到特定的IP。

看看你的mongodconfiguration文件,出于明显的安全原因,大多数时候bind_ip被设置为127.0.0.1。 您可以:

  1. 通过连接逗号分隔值列表来添加所需的IP,以将MongoDB绑定到多个IP地址。
  2. 删除或注释(用#字符)bind_ip行。 但是请注意,所有的远程连接都可以连接你的MongoDB服务器!

有关bind_ipconfiguration选项的更多信息: https ://docs.mongodb.com/manual/reference/configuration-options/#net.bindIp

绑定IP也可以设置为一个命令参数: http : //docs.mongodb.org/manual/reference/program/mongod/#cmdoption–bind_ip

2.防火墙

检查你是否在防火墙后面运行

确保在你的/etc/mongodb.conf文件中有下面一行,

bind_ip = 0.0.0.0 

http://jitu-blog.blogspot.com.br/2013/06/allow-mongo-to-connect-from-remote-ip.html

另一个问题可能是mongodb端口未启用。 从另一台主机检查服务器上启用的端口。 为此,您可以使用以下命令:

 sudo nmap -P0 your_server_ip 

你可以得到这样的答案:

 Host is up (0.052s latency). Not shown: 997 filtered ports PORT STATE SERVICE 22/tcp open ssh 80/tcp open http 443/tcp closed https 

如果您在AWS中使用虚拟服务器,则需要添加新规则以添加mongodb端口(默认为27017)。

重要提示 :请注意,使用此configuration,任何人都可以访问数据库

在这里输入图像说明