如何将VPS连接到MongoDB Compass

问题描述 投票:0回答:2

我买了一个VPS,我想把MongoDB服务器放在那里。我使用 ssh 隧道连接到 VPS,安装 MongoDB 并启动它。 问题是,如何将 VPS 服务器添加到 MongoDB Compass?还可能吗?

我尝试通过主机名连接,但收到此错误 -

connect ECONNREFUSED my.ip.adress.here
还尝试通过 MongoDB Compass 中的 ssh 隧道进行连接 - 对我来说不起作用。

也许端口有问题?

我可以使用 ssh 从终端连接到我的 VPS。

编辑1: 我使用这个 documentation 在 ubuntu 上安装 MongoDB,我使用的是 MongoDB 4.2.8

EDIT2: 当我在 VPS 上安装 mongodb 时,MongoDB ip 是 127.0.0.1 我该如何更改它?我希望将其设置为 VPS IP 地址。如果可能的话,否则我不明白如何连接到 VPS 上的数据库。

抱歉,如果这是蹩脚的问题,我是第一次使用 VPS,对我来说相当复杂。

mongodb
2个回答
9
投票

在使用 mongodb compass 连接到 vps 之前,您需要允许从您的 vps 远程连接到 mongodb。

  1. 建议使用用户名和密码保护您的 mongodb 连接

  2. 编辑位于

    的 mongod.conf 文件

sudo nano /etc/mongod.conf

  1. 输入逗号并将 vps 的 IP 地址附加到 bindIp 字段的末尾。这将允许远程连接到 mongodb 实例

  2. 保存文件并重新启动mongodb连接

sudo systemctl 重新启动 mongod

  1. 设置防火墙以允许从任何地方连接到端口 27017(默认的 mongodb 端口)。 (请注意,这会将您的 mongo 数据库暴露到互联网。因此建议在交付生产时关闭此端口)

sudo ufw允许27017

vps 就这样了。

  1. 您现在可以打开 mongodb compass
  2. 选择“单独填写连接字段”
  3. 主机名填写你的vps的IP地址,端口是你之前打开的端口27017,选择通过用户名和密码进行身份验证。
  4. 输入您应该已经创建的 mongodb 管理员的用户名和密码。
  5. 选择身份验证数据库(通常是admin)

就是这样。您应该已连接。您现在可以在远程计算机上查看 mongodb 实例的集合和字段


0
投票

要从 MongoDB Compass 安全地连接到 VPS 上的远程 MongoDB 实例,而不将 MongoDB 端口(通常为 27017)暴露到互联网(这是不安全的),您可以使用非默认本地端口设置 SSH 隧道。方法如下:

1。配置 SSH 隧道

由于您的本地计算机可能已经在端口 27017 上运行 MongoDB,因此请选择一个未使用的端口,例如 27018,以避免冲突。

使用 ssh 密钥

ssh -i /path/to/your/private_key -L 27018:localhost:27017 -N your_username@your_vps_ip

或使用密码

ssh -L 27018:localhost:27017 -N your_username@your_vps_ip

此命令创建一个隧道,将本地端口 27018 重定向到远程服务器的 localhost:27017(MongoDB 的默认端口),-N 防止 SSH 打开远程 shell,因此它不会启动登录会话。

2。隧道处于活动状态时,打开 MongoDB Compass 并使用以下设置:

Hostname: localhost

Port: 27018

或使用连接字符串

mongodb://localhost:27018

此设置指示 MongoDB Compass 连接到 localhost:27018,该主机通过 SSH 隧道安全转发到 your_vps_ip:27017。

© www.soinside.com 2019 - 2024. All rights reserved.