Керування MongoDB на Linux VPS включає встановлення, налаштування, безпеку та оптимізацію продуктивності.
1. Встановлення MongoDB на Linux VPS
MongoDB можна встановити за допомогою менеджерів пакетів, таких як apt (для Debian/Ubuntu) або yum (для CentOS/RHEL).
Для Ubuntu/Debian
- Оновити список пакунків:
- Імпортуйте ключ MongoDB GPG:
- Додайте сховище MongoDB:
- Встановіть MongoDB:
- Запустіть та увімкніть MongoDB:
Для CentOS/RHEL
- Додайте сховище MongoDB:
- Встановіть MongoDB:
- Запустіть та увімкніть MongoDB:
2. Захист MongoDB
За замовчуванням MongoDB слухає на localhost (127.0.0.1). Щоб захистити його:
Увімкніть автентифікацію
- Створіть користувача admin:
- Увімкніть автентифікацію в конфігураційному файлі MongoDB:
Знайдіть розділ безпеки та додайте:
- Перезапустіть MongoDB:
Обмеження зовнішнього доступу
- Змініть MongoDB так, щоб вона слухала тільки localhost:
Зміна:
- Використовуйте UFW (Ubuntu) або FirewallD (CentOS), щоб дозволити лише певні IP-адреси:
3. Керування MongoDB
Перевірка стану служби MongoDB
Перезапуск MongoDB
Зупинка MongoDB
Увімкніть запуск MongoDB при завантаженні
4. Керування базами даних у MongoDB
Підключення до MongoDB
Створення бази даних
Показати бази даних
Створення колекції
Вставити дані
Знайти дані
Видалення бази даних
5. Резервне копіювання та відновлення
Створення резервної копії бази даних MongoDB
Відновлення бази даних MongoDB
6. Оптимізація продуктивності
Індексування для швидших запитів
Моніторинг продуктивності
Обмеження використання пам’яті
Змініть wiredTigerCacheSizeGB у файлі /etc/mongod.conf:
Використання пулу з’єднань
Змініть /etc/mongod.conf:
7. Журнали та налагодження
Перегляд журналів MongoDB
Перевірка журналів помилок
8. Видаліть MongoDB (якщо потрібно)
Для Ubuntu/Debian
Для CentOS/RHEL
Висновок
Керування MongoDB на Linux VPS вимагає правильного встановлення, посилення безпеки та оптимізації продуктивності. Дотримуючись цих кроків, ви забезпечите ефективну та безпечну роботу вашої бази даних MongoDB. 🚀
Вам потрібна допомога зі скриптами автоматизації для керування MongoDB? 😊