前言

MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。

下面我们简单几步实现在Linux centos上安装mongoDB数据库,同时做内网穿透,使用cpolar内网穿透将本地端口映射到公网上,实现在公网环境下也可以远程连接访问MongoDB数据库。

1. 配置Mongodb源

进入yum.repos.d目录

cd  /etc/yum.repos.d 

新建一个下载源文件

vim  mongodb-org-4.0.repo 

在文件里面添加下面内容,然后保存

[mngodb-org]
name=MongoDB Repository
baseurl=http://mirrors.aliyun.com/mongodb/yum/redhat/7Server/mongodb-org/4.0/x86_64/
gpgcheck=0
enabled=1

image-20230418154404590

2. 安装MongoDB

执行命令安装,执行后等待安装完成

yum -y install mongodb-org

出现完毕表示安装完成

image-20230418155030584

查看一下安装的位置

whereis mongod

可以看到mongodconf配置文件的目录所在

image-20230418155146455

修改一下mongod.conf配置文件

vim /etc/mongod.conf

bindIp: 127.0.0.1改为bindIp: 0.0.0.0然后保存

image-20230418155448996

然后启动mongoDB,下面一系列是操作命令

启动mongodb :systemctl start mongod.service

停止mongodb :systemctl stop mongod.service

重启mongodb :systemctl restart mongod.service

查看状态mongodb :systemctl status mongod.service

设置mongodb开机自启动 :systemctl enable mongod.service

启动后我们查看一下状态

image-20230418160038472

默认的mongodb端口为27017 TCP协议,在上面我们的配置文件中可以看到。 如果为防火墙使用的是 FirewallD,则可以使用以下命令:

sudo firewall-cmd --zone=public --add-port=27017/tcp --permanent

设置完重启防火墙

sudo firewall-cmd --reload

3. 局域网连接测试

我们使用图形化工具连接,这边使用navicat进行测试连接,在navicat新建一个MongoDB连接,因为安装的时候没有输入账户密码,所以我们直接输入ip地址和端口,点击测试连接出现连接成功。

image-20230418163403956

4. 安装cpolar内网穿透

上面我们在本地Linux安装了mongodb数据库并且局域网测试ok,下面我们安装cpolar内网穿透工具,通过cpolar的TCP公网地址,我们可以很容易实现在外远程访问MongoDB数据库,而无需公网IP,无需设置路由器。下面是安装cpolar步骤。

cpolar官网地址:https://www.cpolar.com/

  • 使用一键脚本安装命令
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
  • token认证

登录cpolar官网后台,点击左侧的验证,查看自己的认证token,之后将token贴在命令行里:

cpolar authtoken xxxxxxx

20230206171248

  • 向系统添加服务
sudo systemctl enable cpolar
  • 启动cpolar服务
sudo systemctl start cpolar

5. 配置公网访问地址

成功启动cpolar服务后,我们在浏览器上访问Linux局域网ip地址+9200端口,登录cpolar web UI管理界面。

登录成功后,点击左侧仪表盘的隧道管理——创建隧道,创建一个http协议的隧道指向mongoDB的27017端口:

  • 隧道名称:可自定义,注意不要与已有的隧道名称重复
  • 协议:tcp
  • 本地地址:27017
  • 域名类型:免费选择随机域名
  • 地区:选择China VIP

点击创建

image-20230418164119075

然后打开在线隧道列表,查看并且复制tcp协议的公网地址,注意无需复制tcp://

image-20230418170956762

6. 公网远程连接

打开navicat 或者其他连接工具,输入上面我们cpolar中创建的公网地址,端口号对应地址后面的端口,

image-20230418171050519

点击测试连接,出现连接成功表示成功

image-20230418171126365

7. 固定连接公网地址

要注意的是,以上步骤使用的是随机临时tcp端口地址,所生成的公网地址为随机临时地址,该公网地址24小时内会随机变化。我们接下来为其配置固定的TCP端口地址,该地址不会变化,设置后将无需每天重复修改地址。

配置固定tcp端口地址需要将cpolar升级到专业版套餐或以上。

  • 保留一个固定tcp地址

登录cpolar官网后台,点击左侧的预留,找到保留的tcp地址,我们来为远程mongoDB保留一个固定tcp地址:

  • 地区:选择China vip
  • 描述:即备注,可自定义

点击保留

image-20230418165620238

地址保留成功后,系统会生成相应的固定公网地址,将其复制下来

image-20230418165733635

  • 配置固定tcp地址

在浏览器上访问Linux局域网ip地址+:9200端口,登录cpolar web ui管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到我们上面创建的tcp隧道,点击右侧的编辑

image-20230418165851431

修改隧道信息,将保留成功的固定tcp地址配置到隧道中

  • 端口类型:修改为固定tcp端口
  • 预留的tcp地址:填写官网保留成功的地址

点击更新

image-20230418165922827

隧道更新成功后,点击左侧仪表盘的状态——在线隧道列表,可以看到公网地址已经更新成为了固定tcp地址。

image-20230418165947193

8. 使用固定地址连接

打开连接工具,输入我们刚刚配置成功的固定tcp地址,端口为地址后面对应的地址,点击测试连接

image-20230418170227498

出现连接成功表示成功,现在这个地址不会再随机变化了,只要保持隧道为在线状态,我们就可以在外公网环境下远程连接内网linux的mongoDB数据库。

image-20230418170305053

转载自cpolar极点云文章:Linux centos安装MongoDB数据库,公网远程连接

Logo

更多推荐