zh

MongoDB VPS托管:离岸NoSQL数据库部署指南

MongoDB是最流行的文档型NoSQL数据库,以其灵活的JSON-like文档模型、水平扩展能力和强大的聚合管道著称。在离岸VPS上自托管MongoDB意味着摆脱MongoDB Atlas云服务的数据主权问题,在冰岛的隐私友好法律环境下完全控制数据存储。Anubiz Host VPS的NVMe存储和高带宽为MongoDB提供出色的读写性能。

Need this done for your project?

We implement, you ship. Async, documented, done in days.

Start a Brief

MongoDB安装与基础配置

在Ubuntu VPS上安装MongoDB 7.0(当前LTS版本):
apt update && apt install -y gnupg curl

# 导入MongoDB公共GPG密钥
curl -fsSL https://www.mongodb.org/static/pgp/server-7.0.asc |     gpg --dearmor -o /usr/share/keyrings/mongodb-server-7.0.gpg

# 添加MongoDB APT源
echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ]     https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/7.0 multiverse" |     tee /etc/apt/sources.list.d/mongodb-org-7.0.list

apt update
apt install -y mongodb-org

systemctl enable mongod
systemctl start mongod
mongosh --version
进入MongoDB Shell创建管理员用户:
mongosh
use admin
db.createUser({
  user: "admin",
  pwd: "very_strong_admin_password",
  roles: [{ role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase"]
})
exit

MongoDB安全加固

默认MongoDB安装没有认证,必须在暴露到网络前完成安全配置:
nano /etc/mongod.conf
关键安全配置:
net:
  port: 27017
  bindIp: 127.0.0.1  # 只监听本地,禁止外部直连

security:
  authorization: enabled  # 启用身份认证

storage:
  dbPath: /var/lib/mongodb
  journal:
    enabled: true

systemLog:
  destination: file
  logAppend: true
  path: /var/log/mongodb/mongod.log
systemctl restart mongod
为应用创建最小权限数据库用户:
mongosh -u admin -p --authenticationDatabase admin
use myapp_db
db.createUser({
  user: "app_user",
  pwd: "app_strong_password",
  roles: [{ role: "readWrite", db: "myapp_db" }]
})
exit

MongoDB性能优化

为MongoDB创建适当的索引是性能优化的核心。以下是常见的索引管理操作:
mongosh -u app_user -p --authenticationDatabase myapp_db

use myapp_db

# 为常用查询字段创建索引
db.users.createIndex({ email: 1 }, { unique: true })
db.posts.createIndex({ createdAt: -1 })
db.products.createIndex({ category: 1, price: 1 })

# 复合文本索引(用于全文搜索)
db.articles.createIndex({ title: "text", content: "text" })

# 查看查询执行计划
db.users.find({ email: "[email protected]" }).explain("executionStats")
在/etc/mongod.conf中调整WiredTiger存储引擎缓存(以4GB RAM VPS为例):
storage:
  wiredTiger:
    engineConfig:
      cacheSizeGB: 1.5  # 约为RAM的40%
systemctl restart mongod

MongoDB备份与恢复

为MongoDB配置可靠的备份策略,保护离岸数据库中的重要数据: 使用mongodump进行逻辑备份:
# 备份单个数据库
mongodump --uri="mongodb://app_user:password@localhost:27017/myapp_db"     --out=/var/backups/mongodb/$(date +%Y%m%d_%H%M%S)

# 压缩备份
mongodump --uri="mongodb://app_user:password@localhost:27017/myapp_db"     --gzip --archive=/var/backups/mongodb_$(date +%Y%m%d).gz

# 恢复数据库
mongorestore --uri="mongodb://app_user:password@localhost:27017/myapp_db"     --gzip --archive=/var/backups/mongodb_20260515.gz
配置每日自动备份:
0 2 * * * mongodump --uri="mongodb://app_user:password@localhost:27017/myapp_db" --gzip --archive=/var/backups/mongo_$(date +%Y%m%d).gz && find /var/backups -name "mongo_*.gz" -mtime +14 -delete
冰岛的数据中心在欧洲具有良好的互连性,同时受冰岛隐私法律保护。将MongoDB部署在Anubiz Host VPS上意味着你的数据完全处于你的控制之下,不受第三方云服务商的数据政策约束。

Why Anubiz Host

100% async — no calls, no meetings
Delivered in days, not weeks
Full documentation included
Production-grade from day one
Security-first approach
Post-delivery support included

Ready to get started?

Skip the research. Tell us what you need, and we'll scope it, implement it, and hand it back — fully documented and production-ready.

Anubiz Chat AI

Online