在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
谢谢!
- 在Mongo服务器上运行netstat -a并检查一个端口。
- 检查DNS设置并检查Linux服务器是否允许外部连接。
- 检查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。 您可以:
- 通过连接逗号分隔值列表来添加所需的IP,以将MongoDB绑定到多个IP地址。
- 删除或注释(用#字符)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,任何人都可以访问数据库