MongoDB jest jednym z najpopularniejszych nierelacyjnych systemów zarządzania bazą danych (NoSQL). Zarządza on przechowywaniem i reprezentacją danych w Dokumentach o formacie JSON, zorganizowanych w kolekcje. Jest szczególnie pomocny we wszystkich przypadkach, w których potrzebna jest większa skalowalność, a także szybkość i łatwość rozbudowy oraz dostępu do danych.
W niniejszym poradniku przedstawimy instalację i zarządzanie MongoDB na serwerze o dystrybucji Linux Ubuntu 18.04.
Połącz się ze swoim serwerem przez SSH. Jeśli jeszcze tego nie zrobiłeś, zapoznaj się z naszym poradnikiem na temat bezpiecznego połączenia przez protokół SSH. W przypadku serwera lokalnego przejdź do następnego kroku i otwórz terminal na swoim serwerze.
Instalacja MongoDB
W celu upewnienia się, że posiadasz najnowszą wersję MongoDB, zaktualizuj repozytoria dystrybucji i rozpocznij instalację:
$ sudo apt-get update && sudo apt-get install mongodb
W standardowej konfiguracji MongoDB automatycznie włączy się w czasie uruchamiania systemu. Wyłącz opcję za pomocą następującej komendy:
$ sudo systemctl disable mongodb
Reaktywować automatyczne uruchamianie możesz natomiast za pomocą komendy:
$ sudo systemctl enable mongodb
Zarządzanie usługą MongoDB
Sprawdzenie statusu usługi:
$ sudo systemctl status mongodb
mongodb.service - An object/document-oriented database
Loaded: loaded (/lib/systemd/system/mongodb.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2019-08-13 03:43:44 UTC; 5min 27s ago
Docs: man:mongod(1)
Main PID: 2208 (mongod)
Tasks: 27 (limit: 1200)
CGroup: /system.slice/mongodb.service
└─2208 /usr/bin/mongod --unixSocketPrefix=/run/mongodb --config /etc/mongodb.conf
Zostanie wyświetlony rezultat jak powyżej. Pozwoli Ci to na upewnienie się czy usługa jest aktywna.
Uruchomienie usługi:
$ sudo systemctl start mongodb
Wyłączenie usługi:
$ sudo systemctl stop mongodb
Restart usługi:
$ sudo systemctl restart mongodb
Status bazy danych
Status połączenia z bazą danych można sprawdzić za pomocą komendy diagnostycznej:
$ mongo --eval 'db.runCommand({ connectionStatus: 1 })'
Komenda wyświetli parametry połączenia i wersję oraz status serwera.
Połączenie z zewnątrz
Połączenie z zewnątrz do instancji MongoDB wymaga aktywowania nasłuchiwania poprzez wprowadzenie swojego publicznego adresu IP.
Otwórz plik konfiguracyjny MongoDB:
$ sudo nano /etc/mongodb.conf
Następnie zmień parametr bind_ip poprzez dodanie do niego własnego publicznego adresu IP:
bind_ip = 127.0.0.1,<SERVER.IP>
Zapisz plik i zrestartuj usługę MongoDB:
$ sudo systemctl restart mongodb
W przypadku posiadania firewall w systemie, zezwól na ruch dla MongoDB.
Jeśli korzystasz z UFW firewall, aktywuj połączenie do własnej instancji za pomocą komendy:
Jeśli port dla MongoDB został zmieniony, zastąp 27017 numerem portu, który jest obecnie wykorzystywany.
Uwaga: Aby zezwolić na dostęp jedynie ze sprecyzowanego adresu IP, skorzystaj z komendy:
$ sudo ufw allow from <SERVER.IP>/32 to any port 27017