Linux安装MongoDB数据库并内网穿透在外远程访问
文章目录
- 前言
- 1.配置Mongodb源
- 2.安装MongoDB数据库
- 3.局域网连接测试
- 4.安装cpolar内网穿透
- 5.配置公网访问地址
- 6.公网远程连接
- 7.固定连接公网地址
- 8.使用固定公网地址连接
转发自CSDN cpolarlisa的文章:Linux服务器安装部署MongoDB数据库 - 无公网IP远程连接「内网穿透」
前言
MongoDB是一个基于分布式文件存储的数据库。由 C++ 语言编写,旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。它最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。
本次教程我们将在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

2.安装MongoDB数据库
执行命令安装,执行后等待安装完成
yum -y install mongodb-org
出现完毕表示安装完成

查看一下安装的位置
whereis mongod
可以看到mongodconf配置文件的目录所在

修改一下mongod.conf配置文件
vim /etc/mongod.conf
把bindIp: 127.0.0.1改为bindIp: 0.0.0.0,然后保存

然后启动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
启动后我们查看一下状态

默认的mongodb端口为27017,TCP协议,在上面我们的配置文件中可以看到。如果为防火墙使用的是FirewallD,则可以使用以下命令:
sudo firewall-cmd --zone=public --add-port=27017/tcp --permanent
设置完重启防火墙
sudo firewall-cmd --reload
3.局域网连接测试
我们使用图形化工具连接,这边使用navicat进行测试连接,在navicat新建一个MongoDB连接,因为安装的时候没有输入账户密码,所以我们直接输入ip地址和端口,点击测试连接出现连接成功

4.安装cpolar内网穿透
上面我们在本地Linux安装了mongodb数据库并且局域网测试ok,接下来我们实现在外公网环境下远程连接MongoDB数据库。
cpolar是一个非常棒的跨平台、内网穿透工具,是一个的调试开发必备工具,你可以把它放在你的常备工具箱,作为常备利器。它可以通过安全隧道将NAT或防火墙后面的本地服务器,暴露给公共互联网。支持http/https/tcp/tls/ftp协议,无需公网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

- 向系统添加服务
sudo systemctl enable cpolar
- 启动cpolar服务
sudo systemctl start cpolar
5.配置公网访问地址
成功启动cpolar服务后,我们在浏览器上访问登录cpolar web UI管理界面,Linux局域网ip地址+9200端口。
登录成功后,点击左侧仪表盘的隧道管理——创建隧道,创建一个tcp协议的隧道指向mongoDB的27017端口:
- 隧道名称:可自定义,注意不要与已有的隧道名称重复
- 协议:tcp
- 本地地址:27017
- 域名类型:免费选择随机域名
- 地区:选择China VIP
点击创建

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

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

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

7.固定连接公网地址
要注意的是,以上步骤使用的是随机临时tcp端口地址,所生成的公网地址为随机临时地址,虽然可以永久免费使用,但是该公网地址24小时内会随机变化。我们接下来为其配置固定的TCP端口地址,该地址不会变化,设置后将无需每天重复修改地址。
配置固定tcp端口地址需要将cpolar升级到专业版套餐或以上。
登录cpolar官网后台,点击左侧的预留,找到保留的tcp地址,我们来为远程连接MongoDB数据库保留一个固定tcp地址。
- 地区:选择China vip
- 描述:即备注,可自定义
点击保留

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

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

修改隧道信息,将保留成功的固定tcp地址配置到隧道中
- 端口类型:修改为固定tcp端口
- 预留的tcp地址:填写官网保留成功的地址,
点击更新

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

8.使用固定公网地址连接
打开连接工具,输入官网保留的固定tcp地址,端口为地址后面对应的公网端口号,点击测试连接。

出现连接成功表示成功,现在这个公网地址不会再随机变化,只要保持隧道正常在线,我们在外就可以通过这个公网地址远程连接到局域网内的MongoDB数据库。

相关文章:
Linux安装MongoDB数据库并内网穿透在外远程访问
文章目录 前言1.配置Mongodb源2.安装MongoDB数据库3.局域网连接测试4.安装cpolar内网穿透5.配置公网访问地址6.公网远程连接7.固定连接公网地址8.使用固定公网地址连接 转发自CSDN cpolarlisa的文章:Linux服务器安装部署MongoDB数据库 - 无公网IP远程连接「内网穿透…...
flutter系列之:使用AnimationController来控制动画效果
文章目录 简介构建一个要动画的widget让图像动起来总结 简介 之前我们提到了flutter提供了比较简单好用的AnimatedContainer和SlideTransition来进行一些简单的动画效果,但是要完全实现自定义的复杂的动画效果,还是要使用AnimationController。 今天我…...
golang 函数调用栈笔记
一个被函数在栈上的情况:(栈从高地址向低地址延伸) 返回地址(函数执行结束后,会跳转到这个地址执行) BP(函数的栈基)局部变量返回值(指的是函数返回值,eg&am…...
云端一体助力体验升级和业务创新
随着音视频和AI技术的发展,在满足用户基础体验和需求情况下,更极致的用户体验和更丰富的互动玩法,成为各个平台打造核心竞争力的关键。LiveVideoStackCon 2022 北京站邀请到火山引擎视频云华南区业务负责人——张培垒,基于节跳动音…...
【Linux Network】高级IO
目录 前言 五种IO模型 阻塞IO 非阻塞IO 信号驱动IO IO多路转接 异步IO 小结 同步通信 vs 异步通信 阻塞 vs 非阻塞 其他高级IO 非阻塞IO fcntl函数 代码测试 高级IO🌷 前言 IO:所谓的I便是 input,所谓的O便是 output,简单点来说&a…...
Python语言基本控制结构
Python语言基本控制结构包括:条件语句:if、elif、else 循环语句:for、while 跳转语句:break、continue、return 下面是它们的基本用法: 条件语句 if condition1: statement1 elif condition2: statement2 else: stat…...
旅游网站版面设计方案
门户网站的页面设计:采用天蓝色为主色调、以红色、绿色为基调,突出网站的青春活波性。 网站风格尽量简单统一、容易让大多数上网者接受,个性化的网站,再者,网站有主体信息结构及布 word . . . . 局,它是总体…...
sudo unable to open read-only file system”的原因
此错误是由多种原因引起的,包括: 文件系统不一致。文件系统配置错误(/etc/fstab 文件中的错误条目)。由于各种原因(包括突然断电或电缆损坏)导致系统意外或突然关闭。在某些情况下,Windows 的双…...
Dynamics 365 DevOps CI/CD之WebResource
对于D365自身的发布,简单点来说就是Solution的发布,复杂一些会涉及周边集成接口等一系列的发布。如果是单纯的Solution的发布的Azure DevOps商店里有很多工具,比如Power DevOps Tools,这个我之前也有博文转载过相关文章࿰…...
Linux常用指令及基础配置
Linux常用指令及基础配置 Linux系统操作指令文件管理指令系统设置相关指令addr2line的运用 vim相关vim配置操作Vim功能操作分屏擦操作删除操作换行符转换操作:文件比较合并操作折叠指令 Linux系统操作指令 文件管理指令 find ./ -iname filename find ./ -name “…...
Linux 服务器上Nvidia相关指令
1、GPU驱动的内存常驻模式 1)操作命令: 确保你具有root或sudo权限,以执行下面的命令。打开终端或命令行界面。运行以下命令来设置GPU驱动的内存常驻模式: nvidia-smi -pm 1这会将GPU驱动程序设置为内存常驻模式。 4. 验证设置是否成功。运…...
ChatGPT的工作原理是什么?
ChatGPT是美国OpenAI研发的聊天机器人程序,2022年11月30日发布。ChatGPT是人工智能技术驱动的自然语言处理工具,它能够通过理解和学习人类的语言来进行对话。 ChatGPT的原理 ChatGPT是一种基于人工智能技术的自然语言生成模型,它能够从大量…...
C++进阶——红黑树
C进阶——红黑树 概念 红黑树,是一种二叉搜索树,但在每个结点上增加一个存储位表示结点的颜色,可以是Red或Black。 通过 对任何一条从根到叶子的路径上各个结点着色方式的限制,红黑树确保没有一条路径会比其他路径长出俩 倍&…...
什么是NTFS for Mac?2023新版本如何下载
在NTFS for Mac中包含了多种功能操作,促进软件更好地使用,可以进行全局设置,也可以针对某一各挂载的磁盘进行针对性设置。 本集小编主要向大家介绍它包含的一些基本功能,看看这款mac读写工具能够实现那些功能,全面了解…...
Python泰裤辣丨520写一个自动换壁纸软件,将女友照骗放进去送给她
Python泰裤辣!520写一个自动换壁纸软件,将女友照骗放进去送给她! 准备工作1、环境2、使用的模块3、如何配置pycharm里面的python解释器?4、pycharm如何安装插件? 代码实战1、获取壁纸 自动更换壁纸程序最后 话说兄弟们,今天520你们都送给女朋友啥礼物了…...
CMake: 设置编译选项
CMake: 设置编译选项 导言编译器选项相关概念编译器选项设置补充 导言 上一篇我们学习了构建类型的相关内容,并且可以生成了不同构建类型的库,这一篇我们将介绍编译器选项的相关内容。 编译器选项相关概念 编译器选项是指在编译程序时,可以…...
美团Java开发一面凉经
目录 1.HashMap底层数据结构2.列举几个常见的线程安全容器3.HashMap线程问题4.concurrentHashMap5.ConcurrentModificationException6.Spring AOP、IOC、DI介绍下7.不使用依赖注入,使用传统方式的声明会有什么问题8.最左前缀原则9.TCP三次握手、四次挥手 1.HashMap底…...
Java面试知识点(全)-spring面试知识点二
Java面试知识点(全) 导航: https://nanxiang.blog.csdn.net/article/details/130640392 注:随时更新 Spring 事物 事务简介: 事务管理是企业级应用程序开发中必不可少的技术,用来确保数据的完整性和一致性 事务就是一系列的动作&…...
【音视频开发】基础知识:视频封装格式和编码格式
文章目录 一、封装格式与编码格式的关系视频编码格式视频封装格式MP43GPRM、RMVBAVI、WMVVOBFLVMKVWebMMOVTS 封装格式与编码格式对应 一、封装格式与编码格式的关系 视频编码格式和视频封装格式的关系及区别 这两者的关系好比酒与酒瓶的关系,编码格式好比酒瓶里的…...
OData Web API 一个开放标准的协议
OData Web API 是一个开放标准的协议,用于创建和使用基于 RESTful 的 Web API。它允许开发人员通过统一的方式来发布、查询、操作和管理数据资源。 OData Web API 基于 OData 协议,该协议定义了一组规范和约定,用于建立与数据源交互的标准化…...
智慧医疗能源事业线深度画像分析(上)
引言 医疗行业作为现代社会的关键基础设施,其能源消耗与环境影响正日益受到关注。随着全球"双碳"目标的推进和可持续发展理念的深入,智慧医疗能源事业线应运而生,致力于通过创新技术与管理方案,重构医疗领域的能源使用模式。这一事业线融合了能源管理、可持续发…...
MVC 数据库
MVC 数据库 引言 在软件开发领域,Model-View-Controller(MVC)是一种流行的软件架构模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于提高代码的可维护性和可扩展性。本文将深入探讨MVC架构与数据库之间的关系,以…...
什么?连接服务器也能可视化显示界面?:基于X11 Forwarding + CentOS + MobaXterm实战指南
文章目录 什么是X11?环境准备实战步骤1️⃣ 服务器端配置(CentOS)2️⃣ 客户端配置(MobaXterm)3️⃣ 验证X11 Forwarding4️⃣ 运行自定义GUI程序(Python示例)5️⃣ 成功效果# 前言 在运动类应用中,运动数据的可视化是提升用户体验的重要环节。通过直观的图表展示运动过程中的关键数据,如配速、距离、卡路里消耗等,用户可以更清晰…...
Kafka入门-生产者
生产者 生产者发送流程: 延迟时间为0ms时,也就意味着每当有数据就会直接发送 异步发送API 异步发送和同步发送的不同在于:异步发送不需要等待结果,同步发送必须等待结果才能进行下一步发送。 普通异步发送 首先导入所需的k…...
数学建模-滑翔伞伞翼面积的设计,运动状态计算和优化 !
我们考虑滑翔伞的伞翼面积设计问题以及运动状态描述。滑翔伞的性能主要取决于伞翼面积、气动特性以及飞行员的重量。我们的目标是建立数学模型来描述滑翔伞的运动状态,并优化伞翼面积的设计。 一、问题分析 滑翔伞在飞行过程中受到重力、升力和阻力的作用。升力和阻力与伞翼面…...
机器学习的数学基础:线性模型
线性模型 线性模型的基本形式为: f ( x ) ω T x b f\left(\boldsymbol{x}\right)\boldsymbol{\omega}^\text{T}\boldsymbol{x}b f(x)ωTxb 回归问题 利用最小二乘法,得到 ω \boldsymbol{\omega} ω和 b b b的参数估计$ \boldsymbol{\hat{\omega}}…...
C++--string的模拟实现
一,引言 string的模拟实现是只对string对象中给的主要功能经行模拟实现,其目的是加强对string的底层了解,以便于在以后的学习或者工作中更加熟练的使用string。本文中的代码仅供参考并不唯一。 二,默认成员函数 string主要有三个成员变量,…...
从0开始学习R语言--Day17--Cox回归
Cox回归 在用医疗数据作分析时,最常见的是去预测某类病的患者的死亡率或预测他们的结局。但是我们得到的病人数据,往往会有很多的协变量,即使我们通过计算来减少指标对结果的影响,我们的数据中依然会有很多的协变量,且…...
OpenHarmony标准系统-HDF框架之I2C驱动开发
文章目录 引言I2C基础知识概念和特性协议,四种信号组合 I2C调试手段硬件软件 HDF框架下的I2C设备驱动案例描述驱动Dispatch驱动读写 总结 引言 I2C基础知识 概念和特性 集成电路总线,由串网12C(1C、12C、Inter-Integrated Circuit BUS)行数据线SDA和串…...
