御坂主机 发表于 2024-7-5 19:25:44

Linux系统部署MongoDB开源文档型数据库并实现无公网IP远程访问

本帖最后由 御坂主机 于 2024-7-6 16:06 编辑

1. 简介

MongoDB是一种开源的文档型数据库,广泛应用于现代Web应用程序中。本文将详细介绍如何在Linux系统上部署MongoDB,并在没有公网IP的情况下实现远程访问。

1.1 MongoDB简介

MongoDB是一种NoSQL数据库,使用JSON格式存储数据,具有高性能、高可用性和易扩展性等特点。其灵活的数据模型和强大的查询能力,使其成为开发者的首选数据库之一。

2. 环境准备

在开始部署MongoDB之前,需要确保Linux系统已经配置好,并且有足够的权限进行安装和配置操作。

2.1 更新系统包

首先,更新系统包以确保所有软件都是最新版本。

sudo apt-get update
sudo apt-get upgrade

2.2 安装依赖包

安装MongoDB需要一些依赖包,可以通过以下命令安装:

sudo apt-get install libcurl4 openssl liblzma-dev

3. 安装MongoDB

在Linux系统上安装MongoDB可以通过MongoDB官方提供的包管理工具来完成。

3.1 添加MongoDB仓库

首先,添加MongoDB的官方仓库,以便从中安装MongoDB。

wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list

3.2 安装MongoDB

更新系统包列表,然后安装MongoDB:

sudo apt-get update
sudo apt-get install -y mongodb-org

3.3 启动并配置MongoDB

安装完成后,启动MongoDB服务,并设置其开机自启动:

sudo systemctl start mongod
sudo systemctl enable mongod

4. 配置MongoDB远程访问

默认情况下,MongoDB只允许本地访问。要实现远程访问,需要修改MongoDB的配置文件。

4.1 修改配置文件

打开MongoDB配置文件,找到并修改绑定地址。

sudo nano /etc/mongod.conf

将bindIp字段改为0.0.0.0,以允许所有IP地址访问。

bindIp: 0.0.0.0

保存并关闭文件,然后重启MongoDB服务:

sudo systemctl restart mongod

4.2 设置防火墙

为了安全起见,只允许特定的IP地址访问MongoDB。可以通过设置防火墙规则来实现。

sudo ufw allow from <your_ip_address> to any port 27017

5. 实现无公网IP远程访问

在没有公网IP的情况下,可以使用内网穿透工具如Ngrok或Frp来实现远程访问。

5.1 使用Ngrok

Ngrok是一种内网穿透工具,可以将本地服务暴露给公网访问。首先,下载并安装Ngrok。

wget https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-amd64.zip
unzip ngrok-stable-linux-amd64.zip
sudo mv ngrok /usr/local/bin

然后,使用Ngrok开启MongoDB的内网穿透服务:

ngrok tcp 27017

Ngrok会生成一个公网地址,通过该地址可以远程访问本地的MongoDB服务。

5.2 使用Frp

Frp(Fast Reverse Proxy)是一种高性能的反向代理应用,支持内网穿透。首先,下载并安装Frp。

wget https://github.com/fatedier/frp/releases/download/v0.37.1/frp_0.37.1_linux_amd64.tar.gz
tar -xzf frp_0.37.1_linux_amd64.tar.gz
cd frp_0.37.1_linux_amd64

配置Frp客户端(frpc.ini),添加MongoDB的代理配置:


server_addr = your_frp_server_address
server_port = 7000


type = tcp
local_ip = 127.0.0.1
local_port = 27017
remote_port = 27017

启动Frp客户端:

./frpc -c ./frpc.ini

通过配置好的公网地址,可以远程访问本地的MongoDB服务。

6. 总结

本文详细介绍了如何在Linux系统上部署MongoDB并实现无公网IP远程访问。通过使用Ngrok或Frp等内网穿透工具,可以方便地实现远程访问,而无需公网IP。希望本文对您有所帮助,如果有任何疑问或建议,欢迎交流讨论。





------------------------------------------------------------------------------------------------------------------------------------------
========御 坂 主 机========
>> VPS主机 服务器 前沿资讯 行业发布 技术杂谈 <<
>> 推广/合作/找我玩TG号 : @Misaka_Offical <<
-------------------------------------------------------------------------------------------------------------------------------------------
页: [1]
查看完整版本: Linux系统部署MongoDB开源文档型数据库并实现无公网IP远程访问