Linux服务器安装部署MongoDB数据库 - 无公网IP远程连接

news2024/11/23 2:48:07

目录

前言

1. 配置Mongodb源

2. 安装MongoDB

3. 局域网连接测试

4. 安装cpolar内网穿透

5. 配置公网访问地址

6. 公网远程连接

7. 固定连接公网地址

8. 使用固定地址连接


转载自Cpolar Lisa文章:Linux服务器安装部署MongoDB数据库 - 无公网IP远程连接「内网穿透」

前言

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官网地址:cpolar - 安全的内网穿透工具

  • 使用一键脚本安装命令

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数据库。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/490516.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

IP库新增10多个功能IP

本文涵盖了从初学者到专家级别的FPGA 项目及IP。所有 FPGA 项目都带有开源的源代码。 IP库简介 一直想做一个可以供大家学习、使用的开源IP库,类似OpenCores,OC上IP在领域内的IP很少,通用性强一点,所以作为OC的“补充”&#xff0…

[架构之路-182]-《软考-系统分析师》-19- 系统可靠性分析与设计 - 概览

前言: 可靠性工程是研究产品生命周期中故障的发生、发展规律,达到预防故障,消灭故 障,提高产品可用性的工程技术。 信息系统的可靠性是指系统在满足一定条件的应用环境中能够正常工作的能力,可以按一般工程系统的可靠性…

【KVM虚拟化】· virsh管理命令

目录 🍁libvirt架构概述 🍁使用virsh管理虚拟机 🍂常用命令总结 🍁kvm基本功能管理 🍂帮助命令 🍂KVM的配置文件存放目录 🍂查看虚拟机状态 🍂虚拟机关机与开机 🍂强制虚…

GUI编程(一)

1、简介 GUI的核心技术:Swing、 AWT 1、外观不太美观,组件数量偏少 2、运行需要JRE环境 为什么我们要学习? 组件(JTable,JList等)很多都是MVC的经典示范,学习也可以了解mvc架构。工作时,也有可能遇见需要维护N年前awt/swing写的…

360SEO 如何使用360分析工具来了解你的受众

随着数字化时代的到来,越来越多的企业和个人开始关注自己的受众,以便更好地满足他们的需求。在这个过程中,数据分析工具发挥了越来越重要的作用。其中,360分析工具是一种非常受欢迎的工具,它可以帮助你了解你的受众。 …

Linux Shell编程面试题

🍓 简介:java系列技术分享(👉持续更新中…🔥) 🍓 初衷:一起学习、一起进步、坚持不懈 🍓 如果文章内容有误与您的想法不一致,欢迎大家在评论区指正🙏 🍓 希望这篇文章对你有所帮助,欢…

HTTP的method方法 GET POST PUT DELETE HEAD OPTIONS CONNECT PATCH TRACE

HTTP的method方法 GET POST PUT DELETE HEAD OPTIONS CONNECT PATCH TRACE GET 向指定的资源发出“显示”请求。使用GET方法应该只用在读取数据,而不应当被用于产生“副作用”的操作中,例如在Web Application中。其中一个原因是GET可能会被网络蜘蛛等随意…

分别利用seaborn和matplotlib绘制两组数据(国家统计局居民消费指数和鸢尾花数据集)的图表

一、居民消费指数 1. 数据来源 使用的数据来源网站:国家统计局 数据网站连接:https://data.stats.gov.cn/easyquery.htm?cnA01 2.下载数据 点击下载按钮: 注册一个国家统计局的账号,然后自动登录跳转到数据页,…

Ae:橡皮擦工具

橡皮擦工具 Eraser Tool 快捷键:Ctrl B 橡皮擦工具 Eraser Tool在工作原理上同 Ae 中的其它绘画工具(画笔、仿制图章)工具基本一致,都是通过绘制路径,然后基于此路径进行描边(可统称为“绘画描边”&…

黑马在线教育数仓实战9

2.6 数据清洗转换操作 ​ 目的: 主要是用于从ODS以及DIM层 将数据灌入到DWM层操作 生成学生出勤状态信息表 涉及表: course_table_upload_detail: 日志课程明细表 (课表) (维度表) tbh_student_signin_record: 学生打卡记录表 (事实表) tbh_class_time_ta…

Windows下的RabbitMq安装(图文教学)

目录 前言一、安装Erlang1、下载地址: https://www.erlang.org/downloads2、安装3、配置环境变量4、测试安装 二、安装RabbitMq1、下载2、安装3、常用命令 参考 前言 RabbitMQ服务端代码是使用并发式语言Erlang编写的,安装Rabbit MQ的前提是安装Erlang …

Visual Studio Code 1.78 发布

VS Code 1.78 已发布,此版本一些主要亮点包括: 辅助功能改进 - 更好的屏幕阅读器支持、新的音频提示。新的颜色主题 - “Modern” 浅色和深色主题默认设置。 配置文件模板 - Python、Java、数据科学等的内置模板。 新版本提供了配置文件模板&#xff0…

Android网络代理原理及实现

网络代理简介 代理典型的分为三种类型: 正向代理 缓存服务器使用的代理机制最早是放在客户端一侧的,是代理的原型,称为正向代理。其目的之一 是缓存,另一目的是用来实现防火墙(阻止互联网与公司内网之间的包&#x…

AI 工具合辑盘点(六)持续更新

AI 图像生成和编辑工具 不久前,艺术创作是特定群体的领域。 不再是这样了! 今天,在人工智能艺术生成器的帮助下,任何人都可以通过编写文本提示并让人工智能创建所需的图像来成为艺术家。 🎨🖌 文本到图像…

多线程 双重检查锁详解

🍓 简介:java系列技术分享(👉持续更新中…🔥) 🍓 初衷:一起学习、一起进步、坚持不懈 🍓 如果文章内容有误与您的想法不一致,欢迎大家在评论区指正🙏 🍓 希望这篇文章对你有所帮助,欢…

Word处理控件Aspose.Words功能演示:在 Java 中将 Word DOC/DOCX 转换为 PDF

Aspose.Words是一种高级Word文档处理API,用于执行各种文档管理和操作任务。API支持生成,修改,转换,呈现和打印文档,而无需在跨平台应用程序中直接使用Microsoft Word。 Aspose API支持流行文件格式处理,并…

工业路由器误按RST复位键如何处理?RST键的作用

接触过工业路由器的朋友们都知道,几乎市面上的所有路由器产品都具备着一个常见但不常用的RST按键,它的作用是让工业路由器恢复出厂设置,也称为“复位键”“重置键”,用户可在通电情况下长按RST键10秒便会出现工业路由器指示灯全灭…

高级【IO】

目录 一.五种IO模型 (1)阻塞IO: (2)非阻塞IO (3)信号驱动IO: (4)IO多路转接 (5)异步IO 二.高级IO概念 1.同步通信、异步通信 2.阻塞、非阻…

你知道ChatGPT里面的G、P、T分别代表什么吗?

生成式AI, 在学习归纳数据分布的基础上,创造数据中不存在的新内容。可以生成文本、图片、代码、语音合成、视频和3D模型。 比尔盖茨:ChatGPT是1980年以来最具革命性的科技进步。 身处这个AI变革的时代,唯有躬身入局,…

vcs -libmap

1 libmap的作用 主要两个作用: 解决module名重复问题: 比如有两个IP, IP0和IP1, 它们都例化了一个叫ADD的module, 而且它们的filelist中都包含add.v. 这时会引起编译错误, 这时可以: (1) 指定IP0中的add.v编译到库lib0中, IP1中的add.v编译到库lib1中, (2) 指定IP0中的ADD使用…