15%

Збережіть 15% на всі хостинг-послуги

Перевірте свої навички і отримайте Знижку на будь-який план хостингу

Використовуй код:

Skills
Почати
18.09.2025

Як створити MongoDB на VPS

MongoDB є популярною, високопродуктивною NoSQL базою даних, що використовується для сучасних додатків, які потребують гнучких моделей даних, швидкого читання/запису та легкого горизонтального масштабування. Якщо ви розгортаєте API, SaaS платформу, CRM, бекенд електронної комерції або будь-який сервіс, що базується на даних, запуск MongoDB на VPS надає вам повний контроль над продуктивністю, безпекою та витратами.

У цьому посібнику ви дізнаєтеся, як встановити MongoDB Community Edition (остання підтримувана версія) на Linux VPS, використовуючи офіційні репозиторії MongoDB, запустити та активувати сервіс, створити користувачів і бази даних, а також застосувати основні найкращі практики безпеки (аутентифікація, безпечне мережеве з’єднання та правила брандмауера). Кроки написані для розгортання в стилі виробництва та включають загальні поради з усунення неполадок, щоб ви могли надійно запустити MongoDB з першого дня.

Передумови (швидкий контрольний список)

  • VPS з root/sudo доступом

  • 64-бітна ОС (MongoDB 8.0 підтримує Debian 12 Bookworm, Ubuntu LTS)

  • Рекомендується для виробництва: прочитайте примітки MongoDB щодо виробництва (файлові системи, пам’ять, ulimits тощо)

Спочатку оновіть свій сервер:

sudo apt-get update && sudo apt-get -y upgrade
sudo apt-get install -y gnupg curl

Важливо: не використовуйте пакет дистрибутива mongodb (він може конфліктувати з mongodb-org).

 Встановіть MongoDB на Debian 12 (Bookworm)

Додайте офіційний ключ + репозиторій

curl -fsSL https://www.mongodb.org/static/pgp/server-8.0.asc |
sudo gpg --dearmor -o /usr/share/keyrings/mongodb-server-8.0.gpg
echo "deb [signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg] https://repo.mongodb.org/apt/debian bookworm/mongodb-org/8.0 main" |
sudo tee /etc/apt/sources.list.d/mongodb-org-8.0.list > /dev/null

Встановіть

sudo apt-get update
sudo apt-get install -y mongodb-org

(Ці команди взяті з офіційної документації з установки MongoDB для Debian 12.)

Встановіть MongoDB на Ubuntu LTS (24.04 / 22.04)

Додайте офіційний ключ + репозиторій

curl -fsSL https://www.mongodb.org/static/pgp/server-8.0.asc |
sudo gpg -o /usr/share/keyrings/mongodb-server-8.0.gpg --dearmor

Ubuntu 24.04 (Noble):

echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] https://repo.mongodb.org/apt/ubuntu noble/mongodb-org/8.0 multiverse" |
sudo tee /etc/apt/sources.list.d/mongodb-org-8.0.list

Ubuntu 22.04 (Jammy):

echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/8.0 multiverse" |
sudo tee /etc/apt/sources.list.d/mongodb-org-8.0.list

Встановіть

sudo apt-get update
sudo apt-get install -y mongodb-org

 Запустіть MongoDB (і виправте “mongod.service not found”)

sudo systemctl daemon-reload
sudo systemctl start mongod
sudo systemctl enable mongod
sudo systemctl status mongod --no-pager

MongoDB спеціально зазначає daemon-reload, якщо ви бачите “Unit mongod.service not found”.

“Створіть” свою базу даних + користувачів (рекомендований процес)

Відкрийте оболонку локально на VPS:

mongosh

Створіть адміністративного користувача

У mongosh:

use admin
db.createUser({
user: "admin",
pwd: "STRONG_PASSWORD_HERE",
roles: [ { role: "userAdminAnyDatabase", db: "admin" }, { role: "readWriteAnyDatabase", db: "admin" } ]
})

Створіть базу даних + користувача для застосунку

use myapp
db.createUser({
user: "myapp_user",
pwd: "STRONG_PASSWORD_HERE",
roles: [ { role: "readWrite", db: "myapp" } ]
})

 Забезпечте безпеку MongoDB (не пропустіть це)

Контрольний список безпеки MongoDB настійно рекомендує зміцнити безпеку перед тим, як щось відкривати.

A) Залишайте MongoDB приватною (найкраща практика)

MongoDB попереджає про те, щоб прив’язувати лише до надійних мереж.
У /etc/mongod.conf переконайтеся, що він слухає лише на localhost (або приватному LAN IP):

net:
bindIp: 127.0.0.1

Перезапустіть:

sudo systemctl restart mongod

B) Увімкніть аутентифікацію

Редагуйте /etc/mongod.conf:

security:
authorization:enabled

Перезапустіть:

sudo systemctl restart mongod

C) Правило брандмауера (тільки якщо вам справді потрібен віддалений доступ)

Уникайте відкриття 27017 для публічного інтернету. Якщо ви повинні дозволити доступ, обмежте його до одного IP (приклад з UFW):

sudo ufw allow from YOUR.PUBLIC.IP.ADDRESS to any port 27017 proto tcp
sudo ufw enable
sudo ufw status

D) Безпечніший віддалений доступ (SSH тунель)

З вашого ноутбука:

ssh -L 27017:127.0.0.1:27017 root@YOUR_VPS_IP

Потім підключіться локально:

mongosh "mongodb://myapp_user:PASS@127.0.0.1:27017/myapp?authSource=myapp"

 Резервне копіювання (просто і надійно)

MongoDB надає mongodump для логічних резервних копій.

Приклад:

mongodump --archive=/root/mongo-backup.archive --gzip

Відновлення:

mongorestore --archive=/root/mongo-backup.archive --gzip

 Загальні перевірки (коли щось не працює)

sudo journalctl -u mongod --no-pager -n 200
sudo ss -lntp | grep 27017
mongod --version
15%

Збережіть 15% на всі хостинг-послуги

Перевірте свої навички і отримайте Знижку на будь-який план хостингу

Використовуй код:

Skills
Почати