MongoDB на VPS: установка и production-настройка
MongoDB на VPS: установка, аутентификация, репликация, бэкапы, RAM tuning. NoSQL для Node.js и современных приложений.
Краткий ответ: MongoDB на VPS ставится через apt или Docker. Включите auth, bind 127.0.0.1, настройте WiredTiger cache ≤ 50% RAM. Бэкапы — mongodump + Restic.
SQL или NoSQL? MySQL vs PostgreSQL — для реляционных данных. MongoDB — для гибкой схемы, документов, прототипов с Node.js.
MongoDB vs PostgreSQL на VPS
| MongoDB | PostgreSQL | |
|---|---|---|
| Схема | Гибкая | Строгая |
| JSON | Нативно | JSONB |
| Транзакции | Да (multi-doc) | Да |
| RAM | Жадная | Умеренная |
| Типичный стек | MERN, NestJS | Laravel, Django |
Установка (Ubuntu)
curl -fsSL https://www.mongodb.org/static/pgp/server-7.0.asc | sudo gpg -o /usr/share/keyrings/mongodb-server-7.0.gpg --dearmor
# Добавьте repo по документации MongoDB для вашей Ubuntu
sudo apt install mongodb-org -y
sudo systemctl enable mongod
Безопасность
# /etc/mongod.conf
net:
bindIp: 127.0.0.1
security:
authorization: enabled
use admin
db.createUser({ user: "admin", pwd: "STRONG", roles: ["root"] })
Никогда не открывайте 27017 в интернет — см. защита VPS.
RAM tuning (2 GB VPS)
storage:
wiredTiger:
engineConfig:
cacheSizeGB: 0.5
Правило: WiredTiger cache ≈ 50% RAM минус ОС и приложение.
Docker альтернатива
services:
mongo:
image: mongo:7
ports:
- "127.0.0.1:27017:27017"
environment:
MONGO_INITDB_ROOT_USERNAME: admin
MONGO_INITDB_ROOT_PASSWORD: STRONG
volumes:
- mongo_data:/data/db
Docker Compose — проще изоляция.
Бэкапы
mongodump --uri="mongodb://admin:pass@127.0.0.1" --out=/backup/mongo-$(date +%F)
Off-site — Restic или MinIO. Стратегия — 3-2-1.
Репликация (2+ VPS)
Replica Set: primary + secondary на разных VPS. Автоматический failover при падении primary. Связь — Tailscale или private network.
Мониторинг
- mongostat, mongotop
- Grafana + mongodb_exporter
- Алерты на connections, replication lag
Итог
MongoDB на VPS — для MERN-стека и document-oriented apps. Auth + localhost bind + бэкапы — обязательный минимум.
VPS от 2 GB — StormNet Cloud. Node.js деплой — PM2.
Рекомендуем прочитать
Частые вопросы
Сколько RAM нужно MongoDB на VPS?
Минимум 2 ГБ для dev. Production — от 4 ГБ. WiredTiger cache — не больше 50% доступной RAM.
MongoDB или PostgreSQL на VPS?
MongoDB — гибкая схема, документы, MERN-стек. PostgreSQL — строгая целостность, SQL, сложные JOIN.






