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

然后:

连上了……屮!

总结

  1. 配置 bind_ip 规则(官网介绍
  2. 解决 27017 的端口开放问题(配置安全组规则或修改端口)
posted @ 2021-04-07 20:35  blog_bug  阅读(332)  评论(0编辑  收藏  举报