Главная/Разработка/MongoDB
Установка MongoDB на свой сервер или в облаке
Установка MongoDB на свой сервер делается пакетом mongodb-org из репозитория проекта или образом Docker, а база слушает порт 27017. Главная ловушка в том, что сервер по умолчанию стартует без проверки пароля, и забыть про это опаснее, чем неправильно выбрать размер. Если администрировать некому, у провайдера есть управляемая MongoDB.
Ответ за 30 секунд
Для приложения на Node.js или Python хватит 2 ГБ памяти. Включите пароль сразу, пока база пуста, и не публикуйте порт 27017 в интернет. Управляемая MongoDB стоит от 790 ₽ в месяц на 14 октября 2026, копия раз в день добавляет 120 ₽.
Провайдер следит за обновлениями и доступностью, вы получаете строку подключения.
Сколько памяти нужно MongoDB и как её считает WiredTiger27017порт MongoDB по умолчанию
SSPLлицензия MongoDB Community
от 790 ₽управляемая MongoDB в месяц
01 · 1 мин
Где запускать MongoDB: свой VPS или управляемая база#
MongoDB хранит документы, похожие на JSON, и удобна, когда схема данных часто меняется. Запускать её можно двумя способами.
| Маршрут | Что делаете вы | Цена на 14 октября 2026 |
|---|---|---|
| Свой VPS, пакет или Docker | Включаете пароль, настраиваете память, обновляете, делаете копии | Сервер от 1 920 ₽ в месяц |
| Управляемая MongoDB в Таймвеб Клауд | Создаёте базу и пользователей | От 790 ₽ в месяц; копия раз в месяц 0 ₽, раз в день 120 ₽ в месяц |
Серверная часть MongoDB Community выпускается под лицензией SSPL. Для своего приложения она ничего не запрещает; условия касаются тех, кто предлагает MongoDB другим людям как облачный сервис. Если вам нужна база с SQL и строгой схемой, сравните с PostgreSQL.
02 · 1 мин
Установка MongoDB на Ubuntu пакетом mongodb-org#
В репозитории Ubuntu свежей MongoDB нет, поэтому её ставят из репозитория самого проекта. Ветки 8.0 и 9.0 поддерживаются по плану разработчиков до октября 2029 и октября 2031 года соответственно (данные endoflife.date на 15 октября 2026).
- Подключите репозиторий по инструкции на сайте MongoDB для вашей версии Ubuntu и ветки: там ключ подписи и строка источника пакетов.
- Поставьте пакет и включите службу
mongod. - Проверьте работу оболочкой
mongosh: она подключается к127.0.0.1:27017. - Включите проверку пароля до того, как база получит данные.
sudo apt install -y mongodb-org
sudo systemctl enable --now mongod
mongosh --eval 'db.runCommand({ ping: 1 })'
Настройки находятся в /etc/mongod.conf, данные в /var/lib/mongodb. Во время установки ничего не открывается наружу: параметр bindIp по умолчанию равен 127.0.0.1.
03 · 1 мин
Как включить пароль в MongoDB и закрыть порт 27017#
Сервер MongoDB сам по себе принимает подключения без логина. Пока он слушает только локальный адрес, это терпимо, но стоит открыть порт, и базу найдёт автоматический сканер. Поэтому сначала создают администратора, потом включают проверку.
mongosh
use admin
db.createUser({ user: "admin", pwd: passwordPrompt(), roles: [{ role: "root", db: "admin" }] })
После этого в /etc/mongod.conf добавляют раздел security: со строкой authorization: enabled и перезапускают службу. Для приложения заведите отдельного пользователя с ролью readWrite на его базу, а не используйте администратора.
Доступ с другого сервера открывают через bindIp с внутренним адресом и правило файрвола для одного адреса: ufw allow from 203.0.113.10 to any port 27017 proto tcp. Для контейнера порт публикуют как 127.0.0.1:27017:27017, иначе Docker обойдёт ufw.
04 · 1 мин
MongoDB в Docker: compose-файл и пароль администратора#
Образ mongo создаёт администратора при первом запуске из переменных MONGO_INITDB_ROOT_USERNAME и MONGO_INITDB_ROOT_PASSWORD и сам включает проверку пароля. Данные лежат в /data/db, настройки в /data/configdb.
services:
mongo:
image: mongo:8.0
restart: unless-stopped
env_file: .env
ports:
- "127.0.0.1:27017:27017"
volumes:
- mongodata:/data/db
- mongoconf:/data/configdb
healthcheck:
test: ["CMD", "mongosh", "--quiet", "--eval", "db.adminCommand('ping')"]
interval: 10s
volumes:
mongodata:
mongoconf:
В .env задайте две переменные с логином и паролем. Если приложению нужны транзакции или потоки изменений (так работают, например, Prisma и Rocket.Chat), добавьте команду запуска --replSet rs0 и один раз выполните rs.initiate(): replica set из одного узла тоже считается.
Инструмент · 1 мин
Сколько памяти нужно MongoDB и как её считает WiredTiger#
Хранилище WiredTiger по умолчанию отдаёт кэшу большее из двух значений: половину памяти за вычетом 1 ГБ или 256 МБ. На сервере с 2 ГБ это около 512 МБ, на 8 ГБ около 3,5 ГБ. Остальное остаётся файловому кэшу системы, соединениям и приложению на том же сервере.
- Файловая система: для данных рекомендуют XFS, она ведёт себя на больших файлах предсказуемее.
- Прозрачные огромные страницы: их отключают, документация MongoDB связывает их с задержками.
- Индексы: рабочие индексы должны помещаться в память, иначе запросы пойдут на диск.
Какой сервер взять под MongoDB
Три ответа про данные, калькулятор подберёт конфигурацию
06 · 1 мин
Резервные копии MongoDB: mongodump и копии управляемой базы#
Небольшую базу копируют командой mongodump --uri="mongodb://app:ПАРОЛЬ@127.0.0.1:27017/appdb" --archive=appdb.gz --gzip, а возвращают через mongorestore --archive=appdb.gz --gzip. Для больших баз берут снимок диска сервера: так копия согласована по времени.
Управляемая MongoDB делает копии по расписанию, которое выбирает владелец: раз в месяц бесплатно, раз в день за 120 ₽ в месяц. Где хранить свои архивы и как проверять восстановление: сервер для бэкапов.
07 · 1 мин
Вопросы об установке MongoDB#
Как запустить MongoDB в Docker с паролем?
Передайте образу mongo переменные MONGO_INITDB_ROOT_USERNAME и MONGO_INITDB_ROOT_PASSWORD при первом запуске и подключите том к /data/db. Порт публикуйте только на 127.0.0.1.
Как установить MongoDB на Windows для разработки?
Скачайте MSI-установщик MongoDB Community с сайта проекта, отметьте установку службы и при желании программу MongoDB Compass. Для рабочего сервера берите Linux.
Нужен ли MongoDB отдельный диск или файловая система XFS?
Для небольшой базы хватит диска сервера. XFS рекомендуют для рабочих систем, а данные удобнее держать на отдельном томе: его можно расширять и копировать снимком.
Чем MongoDB на VPS отличается от управляемой?
На VPS вы отвечаете за обновления, пароль, копии и мониторинг. Управляемая база берёт это на себя и стоит от 790 ₽ в месяц на 14 октября 2026.
Почему этому можно верить
Как мы проверяли
Источники цифр на этой странице: VPS и VDS серверы Таймвеб Клауд, timeweb.cloud/services/vds-vps, проверено 14 октября 2026; Облачные базы данных Таймвеб Клауд, timeweb.cloud/services/dbaas, проверено 14 октября 2026; endoflife.date: сроки поддержки PostgreSQL, MySQL, MariaDB, MongoDB, Redis, Valkey, ClickHouse, Kafka, RabbitMQ, Magento, Joomla, PHP, endoflife.date, проверено 15 октября 2026.
Отдайте базу данных провайдеру
Обновления, мониторинг и резервные копии делает провайдер, вы работаете с подключением.
- PostgreSQL, MySQL, MongoDB от 790 ₽
- Valkey (совместим с Redis) от 670 ₽
- Kafka, RabbitMQ, ClickHouse, OpenSearch
- Автобэкапы 6 ₽ в месяц за ГБ