Как создать MongoDB на VPS ⋆ ALexHost SRL

Проверьте свои навыки на всех наших услугах хостинга и получите скидку 15%!.

Используйте код при регистрации:

Skills
06.01.2025
No categories

Как создать MongoDB на VPS

MongoDB – популярная база данных NoSQL, известная своей гибкостью, масштабируемостью и производительностью. Она хранит данные в гибких, JSON-подобных документах, что идеально подходит для разработчиков, работающих с динамичными, быстро меняющимися приложениями. Если вы решили запустить MongoDB на своем собственном виртуальном частном сервере (VPS), вас ожидает полезный опыт, который даст вам полный контроль над средой базы данных. В этом руководстве мы рассмотрим пошаговый процесс настройки MongoDB на VPS.

Необходимые условия

Прежде чем мы начнем, убедитесь, что у вас есть следующее:

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

Шаг 1: Обновление системы

Сначала убедитесь, что ваш VPS обновлен. Войдите в систему через SSH и выполните следующие команды, чтобы обновить список пакетов системы и установить все ожидающие обновления:

sudo apt update
sudo apt upgrade -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. Переключитесь на базу данных администратора:
    использовать admin
  3. Создайте пользователя admin, выполнив следующую команду, заменив adminuser и password на желаемые имя пользователя и пароль:
    db.createUser({
    пользователь: "adminuser",
    pwd: "password",
    roles: [ { { role: "userAdminAnyDatabase", db: "admin" } ]
    })
  • Выйдите из оболочки MongoDB:
    exit

Включить аутентификацию

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

Шаг 5: Настройте удаленный доступ к MongoDB (необязательно)

По умолчанию MongoDB прослушивает только localhost (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

Защита удаленного доступа с помощью брандмауэра

Разрешите только доверенным IP-адресам подключаться к MongoDB, настроив брандмауэр вашего 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 /path/to/backup/directory

Восстановить данные можно с помощью mongorestore:

mongorestore /path/to/backup/directory

Заключение

Выполнив эти шаги, вы успешно установили и настроили MongoDB на своем VPS. Теперь у вас есть полный контроль над средой MongoDB, которую можно точно настроить под свои нужды. Используете ли вы MongoDB для веб-приложений, больших данных или просто экспериментируете, ваша установка MongoDB на VPS обеспечит гибкость и производительность.

Не забывайте регулярно следить за состоянием экземпляра MongoDB и обеспечивать его безопасность, включив аутентификацию и ограничив доступ через брандмауэры. Счастливого кодинга!

Проверьте свои навыки на всех наших услугах хостинга и получите скидку 15%!.

Используйте код при регистрации:

Skills