Windows 平台下的阿里云服务器中,mongodb 的远程连接问题
问题描述
阿里云服务器,操作系统为 windows ,安装 mongodb 数据库后,通过公网 ip 进行访问。一直显示连接失败。
过程
查询各种技术博客,其实就是一个点,就是在启动 mongodb 时绑定 公网 ip 。方法如下:
# 方法一(命令行启动时传参)
mongod --bind_ip 0.0.0.0
# 方法二(命令行启动时传参)
mongod --bing_ip_all
# 方法三(配置文件)
# /mongodb安装目录/bin/mongod.cfg
bindIp:0.0.0.0
使用上述方式,就是不停报错。在使用方法三更改配置文件时,数据库启动后并未生效,依旧会提示“当前服务在 localhost 启动,如需远程服务需要传递 bind_ip
巴拉巴拉的”。
折腾了好久。
后来注意到,有人提到在改完这个配置后,要在阿里云的管理平台中,配置安全组规则,去开放部分端口出来。
本来我是不太在意这一点,因为在这个服务器中跑过蛮多服务,防火墙也没开,换个端口就能在外网访问,所以一直不觉得是端口的问题。
而且这个服务器所有权也不在我手上,管理平台还不太好上。
折腾一下午无果后,决定沉下心研究一下这个安全组规则,注意到一句话:
安全组配置规则的端口范围为必选项,可以是一个端口如
8080
, 也可以是一个范围如8000 - 9000
。
忽然惊醒,之前的各种项目端口范围都是 808X
这种,也许恰好落在了安全组规则内,所以无需配置即可访问。
而 mongodb
的默认端口号是 27017
,不太可能恰好在安全组规则内。
立即去测试了一下,使用下面命令重新启动了服务:
mongod --bind_ip 0.0.0.0 --port 8085 --dppath ./data
然后:
连上了……屮!