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

Перевірте свої навички на всіх наших хостингових послугах та отримайте знижку 15%!

Використовуйте код під час оформлення замовлення:

Skills
06.01.2025
No categories

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

MongoDB – популярна база даних NoSQL, відома своєю гнучкістю, масштабованістю та продуктивністю. Вона зберігає дані у гнучких, JSON-подібних документах, що ідеально підходить для розробників, які працюють з динамічними, швидкозмінними додатками. Якщо ви вирішили запустити MongoDB на власному віртуальному виділеному сервері (VPS), ви отримаєте чудовий досвід, який дасть вам повний контроль над середовищем вашої бази даних. Цей посібник проведе вас через покроковий процес налаштування MongoDB на VPS.

Необхідні умови

Перш ніж ми почнемо, переконайтеся, що у вас є наступне:

  1. VPS з root-доступом.
  2. Ubuntu 20.04 або аналогічний дистрибутив Linux.
  3. Доступ по SSH до вашого VPS.
  4. Мінімум 2 ГБ оперативної пам’яті (рекомендується) для MongoDB.
  5. Базові знання інтерфейсу командного рядка (CLI) і команд Linux.

Крок 1: Оновлення системи

Перш за все, переконайтеся, що ваш VPS оновлений. Увійдіть за допомогою SSH і виконайте наступні команди, щоб оновити список пакунків вашої системи та встановити всі очікувані оновлення:

sudo apt update
sudo apt update -y

Після оновлення системи рекомендується перезавантажити сервер, щоб переконатися, що всі оновлення були застосовані належним чином:

sudo reboot

Крок 2: Встановіть MongoDB

MongoDB не входить до стандартних репозиторіїв Ubuntu, тому перед встановленням вам потрібно буде додати його офіційний репозиторій. Ось як встановити MongoDB:

Додавання сховища MongoDB

  1. Імпортуйте публічний GPG-ключ MongoDB:
    wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -
  2. Створіть файл списку для MongoDB:
    echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list
  3. Оновіть ваш локальний список пакунків:
    sudo apt update

Встановлення пакетів MongoDB

Тепер встановіть пакети MongoDB, виконавши наступну команду:

sudo apt install -y mongodb-org

Це встановить MongoDB разом з іншими необхідними компонентами (такими як mongod, демон MongoDB).

Крок 3: Запуск та увімкнення MongoDB

Після встановлення вам потрібно запустити MongoDB та увімкнути її запуск при запуску:

sudo systemctl start mongod
sudo systemctl enable mongod

Щоб переконатися, що MongoDB запущено, перевірте її статус:

sudo systemctl status mongod

Ви повинні побачити MongoDB активною (запущеною). Якщо все виглядає добре, ви готові перейти до налаштування.

Крок 4: Захистіть MongoDB

За замовчуванням MongoDB дозволяє неавторизований доступ, що не є ідеальним для виробничого середовища. Щоб захистити MongoDB, вам слід увімкнути автентифікацію.

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

  1. Спочатку відкрийте оболонку MongoDB:
    mongo
  2. Перейдіть до бази даних адміністратора:
    use admin
  3. Створіть користувача admin, виконавши наступну команду, замінивши adminuser і пароль на бажані ім’я користувача і пароль:
    db.createUser({
    user: "adminuser",
    pwd: "password",
    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
    })
  • Вийдіть з оболонки MongoDB:
    exit

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

  1. Відкрийте конфігураційний файл MongoDB за допомогою текстового редактора:
    sudo nano /etc/mongod.conf
  2. У конфігураційному файлі знайдіть наступний рядок:
    #security:
  3. Закоментуйте його і додайте під ним наступний рядок:
    security:
    authorization: enabled
  4. Збережіть зміни і вийдіть з редактора (в Nano натисніть Ctrl X , потім Y і Enter).
  5. Перезапустіть MongoDB, щоб застосувати зміни:
    sudo systemctl restart mongod

Крок 5: Налаштування віддаленого доступу до MongoDB (необов’язково)

За замовчуванням MongoDB слухає тільки локальний хост (127.0.0.1), що означає, що вона доступна тільки з самого VPS. Якщо вам потрібен віддалений доступ, вам доведеться налаштувати MongoDB так, щоб вона дозволяла підключення з зовнішніх IP-адрес. Ось як це зробити:

  1. Відкрийте конфігураційний файл MongoDB:
    sudo nano /etc/mongod.conf
  2. Знайдіть наступний рядок:
    bindIp: 127. 0.0.1
  3. Замініть його на
    bindIp: 0. 0.0.0

    Це дозволяє MongoDB приймати з’єднання з усіх IP-адрес.

  4. Збережіть зміни і вийдіть з редактора.
  5. Перезапустіть MongoDB:
    sudo systemctl restart mongod

Захистіть віддалений доступ за допомогою брандмауера

Дозвольте підключення до MongoDB тільки довіреним IP-адресам, налаштувавши брандмауер вашого VPS. Якщо ви використовуєте брандмауер UFW (Uncomplicated Firewall), ось як дозволити віддалені підключення до MongoDB через порт за замовчуванням (27017):

  1. Дозвольте доступ з певного IP (замініть your_ip на вашу IP-адресу ):
    sudo ufw allow from your_ip to any port 27017
  2. Щоб увімкнути UFW (якщо він не увімкнений):
    sudo ufw enable
  3. Перевірте статус UFW, щоб переконатися, що правило було додано:
    sudo ufw status

Крок 6: Тестування налаштування MongoDB

Щоб перевірити правильність роботи MongoDB, ви можете отримати доступ до оболонки MongoDB і авторизуватися, використовуючи користувача, якого ви створили раніше:

  1. Підключіться до MongoDB:
    mongo -u adminuser -p --authenticationDatabase admin
  2. Тепер ви повинні увійти в оболонку MongoDB як користувач admin.

Крок 7: Резервне копіювання та обслуговування

Дуже важливо регулярно створювати резервні копії баз даних MongoDB, особливо у виробничому середовищі. Ви можете використовувати інструмент mongodump для резервного копіювання даних:

mongodump --out /шлях/до/каталогу/резервної копії

Відновити дані можна за допомогою mongorestore:

mongorestore /path/to/backup/directory

Висновок

Виконавши ці кроки, ви успішно встановили та налаштували MongoDB на своєму VPS. Тепер ви маєте повний контроль над середовищем MongoDB, яке можна налаштувати відповідно до ваших конкретних потреб. Незалежно від того, чи використовуєте ви MongoDB для веб-додатків, великих даних або просто експериментуєте, ваша установка MongoDB на VPS забезпечить гнучкість і продуктивність.

Не забувайте регулярно контролювати свій екземпляр MongoDB і забезпечуйте його безпеку, увімкнувши автентифікацію та обмеживши доступ за допомогою брандмауерів. Щасливого кодування!

Перевірте свої навички на всіх наших хостингових послугах та отримайте знижку 15%!

Використовуйте код під час оформлення замовлення:

Skills