如何在VPS上创建MongoDB
“`html
MongoDB 是一个流行的 NoSQL 数据库,以其灵活性、可扩展性和性能而闻名。它以灵活的、类似 JSON 的文档存储数据,非常适合开发动态、快速发展的应用程序的开发者。如果您选择在自己的 虚拟专用服务器 (VPS) 上运行 MongoDB,您将获得一种令人满意的体验,使您能够完全控制您的数据库环境。本指南将带您逐步完成在 VPS 上设置 MongoDB 的过程。
先决条件
在我们开始之前,请确保您具备以下条件:
- 具有 root 访问权限的 VPS。
- Ubuntu 20.04 或类似的 Linux 发行版。
- 对您的 VPS 进行 SSH 访问。
- 至少 2GB 的 RAM(推荐)用于 MongoDB。
- 基本的命令行界面 (CLI) 和 Linux 命令知识。
步骤 1:更新系统
首先,确保您的 VPS 是最新的。通过 SSH 登录并运行以下命令以更新系统的软件包列表并安装任何待处理的更新:
sudo apt update
sudo apt upgrade -y
在系统更新后,重启服务器以确保所有更新正确应用是一个好习惯:
sudo reboot
步骤 2:安装 MongoDB
MongoDB 不包含在默认的 Ubuntu 软件库中,因此您需要在安装之前添加其官方软件库。以下是安装 MongoDB 的方法:
添加 MongoDB 软件库
- 导入 MongoDB 公共 GPG 密钥:
wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -
- 为 MongoDB 创建一个列表文件:
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list
- 更新您的本地软件包列表:
sudo apt update
安装 MongoDB 软件包
现在,通过运行以下命令安装 MongoDB 软件包:
sudo apt install -y mongodb-org
这将安装 MongoDB 以及其他所需组件(例如 mongod,MongoDB 守护进程)。
步骤 3:启动并启用 MongoDB
安装完成后,您需要启动 MongoDB 并启用它在启动时运行:
sudo systemctl start mongod
sudo systemctl enable mongod
要确认 MongoDB 是否正在运行,请检查其状态:
sudo systemctl status mongod
您应该看到 MongoDB 列为 活动(运行中)。如果一切正常,您可以继续进行配置。
步骤 4:保护 MongoDB
默认情况下,MongoDB 允许未经身份验证的访问,这对于生产环境并不理想。为了保护 MongoDB,您应该启用身份验证。
创建管理员用户
- 首先,访问 MongoDB shell:
mongo
- 切换到管理员数据库:
use admin
- 通过运行以下命令创建管理员用户,替换 adminuser 和 password 为您想要的用户名和密码:
db.createUser({
user: "adminuser",
pwd: "password",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
})
- 退出 MongoDB shell:
exit
启用身份验证
- 使用文本编辑器打开 MongoDB 配置文件:
sudo nano /etc/mongod.conf
- 在配置文件中,找到以下行:
#security:
- 取消注释并在其下方添加以下行:
security:
authorization: enabled
- 保存更改并退出编辑器(在 Nano 中,按 Ctrl + X,然后 Y 和 Enter)。
- 重启 MongoDB 以应用更改:
sudo systemctl restart mongod
步骤 5:配置 MongoDB 远程访问(可选)
默认情况下,MongoDB 仅在 localhost (127.0.0.1) 上监听,这意味着它只能从 VPS 本身访问。如果您需要远程访问,您必须配置 MongoDB 以允许来自外部 IP 地址的连接。以下是方法:
- 打开 MongoDB 配置文件:
sudo nano /etc/mongod.conf
- 找到以下行:
bindIp: 127.0.0.1
- 将其替换为:
bindIp: 0.0.0.0
这允许 MongoDB 接受来自所有 IP 地址的连接。
- 保存更改并退出编辑器。
- 重启 MongoDB:
sudo systemctl restart mongod
通过防火墙保护远程访问
通过配置您的 VPS 防火墙,仅允许受信任的 IP 地址连接到 MongoDB。如果您使用 UFW(简单防火墙),以下是如何允许 MongoDB 默认端口(27017)上的远程连接:
- 允许来自特定 IP 的访问(将 your_ip 替换为 您的 IP 地址):
sudo ufw allow from your_ip to any port 27017
- 启用 UFW(如果尚未启用):
sudo ufw enable
- 检查 UFW 状态以确认规则已添加:
sudo ufw status
步骤 6:测试 MongoDB 设置
要验证 MongoDB 是否正常工作,您可以访问 MongoDB shell 并使用您之前创建的用户进行身份验证:
- 连接到 MongoDB:
mongo -u adminuser -p --authenticationDatabase admin
- 您现在应该以管理员用户身份登录到 MongoDB shell。
步骤 7:备份和维护
定期备份您的 MongoDB 数据库至关重要,尤其是在生产环境中。您可以使用 mongodump 工具备份您的数据:
mongodump --out /path/to/backup/directory
您可以使用 mongorestore 恢复数据:
mongorestore /path/to/backup/directory
结论
通过遵循这些步骤,您已成功在 VPS 上安装和配置了 MongoDB。您现在可以完全控制您的 MongoDB 环境,可以根据您的特定需求进行微调。无论您是将 MongoDB 用于 Web 应用程序、大数据,还是仅仅进行实验,基于 VPS 的 MongoDB 安装都将提供灵活性和性能。
请记得定期监控您的 MongoDB 实例,并通过启用身份验证和限制通过防火墙的访问来保持其安全。祝您编码愉快!
“`
