如何在 VPS 上创建 MongoDB 实例
如何在 VPS 上创建 MongoDB 实例
在 Virtual Private Server (VPS) 上部署 MongoDB 可让您完全掌控数据库基础设施——非常适合重视性能、灵活性和数据主权的开发者、初创公司和组织。本指南将带您完成在 VPS 上安装、配置、保护和优化 MongoDB 的高级步骤。
🛠️ 第 1 步:更新系统
sudo apt update && sudo apt upgrade -y设置您的主机名和时区:
hostnamectl set-hostname mongodb-server
timedatectl set-timezone UTC📦 第 2 步:安装 MongoDB
1. 导入 MongoDB GPG Key
wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | sudo gpg --dearmor -o /usr/share/keyrings/mongodb-server-6.0.gpg2. 添加 MongoDB Repository
echo "deb [ signed-by=/usr/share/keyrings/mongodb-server-6.0.gpg ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list注意:如果使用 Ubuntu 22.04,请将 focal 替换为 jammy 或您的版本。
3. 安装 MongoDB
sudo apt updatesudo apt install -y mongodb-org🧪 第 3 步:启动并启用 MongoDB
sudo systemctl start mongodsudo systemctl enable mongod检查状态:
sudo systemctl status mongod🔐 第 4 步:保护您的 MongoDB Server
默认情况下,MongoDB 绑定到 127.0.0.1。如果您想远程访问:
1. 编辑配置
sudo nano /etc/mongod.conf在 net: 下找到 bindIp 行并修改:
bindIp: 127.0.0.1,0.0.0.02. 启用 Authentication
在 security: 部分下添加:
security:
authorization: enabled重启 MongoDB:
sudo systemctl restart mongod👤 第 5 步:创建管理员用户
访问 MongoDB shell:
mongosh创建管理员用户:
use admin
db.createUser({
user: "admin",
pwd: "StrongPassword123!",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
})使用 exit 退出,然后测试登录:
mongosh -u admin -p --authenticationDatabase admin🛡️ 第 6 步:加固 VPS 和 MongoDB
1. UFW Firewall
sudo ufw allow OpenSSH
sudo ufw allow 27017/tcp
sudo ufw enable对于来自单个 IP 的远程访问:
sudo ufw allow from YOUR.IP.ADDRESS to any port 270172. Fail2Ban (SSH Protection)
sudo apt install fail2ban -ysudo systemctl enable fail2ban⚙️ 第 7 步:高级优化(可选)
1. 用于高可用性的 Replica Set
修改 /etc/mongod.conf:
replication:
replSetName: "rs0"初始化:
mongosh
rs.initiate()2. 备份策略
使用 mongodump 进行备份:
mongodump --out /var/backups/mongodb/$(date +%F)使用 cron 自动化:
crontab -e
# Daily at 2 AM
0 2 * * * /usr/bin/mongodump --out /var/backups/mongodb/$(date +%F)3. 使用 TLS/SSL 进行加密连接
生成证书并在 mongod.conf 中配置 net.ssl 部分。这需要更多设置以及受信任的 certificate authority (CA)。
🧪 第 8 步:测试您的部署
您可以测试远程连接:
mongosh "mongodb://admin:StrongPassword123!@your-server-ip:27017/admin"将 your-server-ip 替换为您的 VPS IP 或域名。
📊 第 9 步:监控您的 MongoDB
可考虑以下工具:
MongoDB Atlas Monitoring Agent(可选)
Prometheus + Grafana 搭配 exporters
使用 cron 和 logwatch 的自定义告警
您也可以直接查看日志:
sudo tail -f /var/log/mongodb/mongod.log✅ 最终检查清单
MongoDB 已安装并运行
远程访问已保护
已强制管理员身份验证
已配置 Firewall
已设置备份
已启用可选监控
🧩 结论
在 VPS 上运行 MongoDB 可为您带来无与伦比的灵活性,但也需要对安全、备份和性能给予细致关注。按照本指南操作后,您已经创建了一个安全且可用于生产环境的 MongoDB 实例,可随着应用增长而扩展。


