MongoDB на VPS: установка и production-настройка — иллюстрация к статье Storm Cloud Blog, категория DevOps
MongoDB на VPS: установка и production-настройка — иллюстрация к статье Storm Cloud Blog, категория DevOps
DevOps·2 мин··

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.