15%

Zaoszczędź 15% na wszystkich usługach hostingowych

Sprawdź swoje umiejętności i zdobądź Rabat na dowolny plan hostingowy

Użyj kodu:

Skills
Rozpocznij
18.09.2025

Jak utworzyć MongoDB na VPS

MongoDB to popularna, wydajna baza danych NoSQL używana w nowoczesnych aplikacjach, które potrzebują elastycznych modeli danych, szybkich odczytów/zapisów i łatwej poziomej skalowalności. Jeśli wdrażasz API, platformę SaaS, CRM, backend e-commerce lub jakąkolwiek usługę opartą na danych, uruchomienie MongoDB na VPS daje pełną kontrolę nad wydajnością, bezpieczeństwem i kosztami.

W tym przewodniku nauczysz się, jak zainstalować MongoDB Community Edition (najnowsza wspierana wersja) na VPS z systemem Linux, korzystając z oficjalnych repozytoriów MongoDB, uruchomić i włączyć usługę, tworzyć użytkowników i bazy danych oraz stosować podstawowe najlepsze praktyki bezpieczeństwa (uwierzytelnianie, bezpieczne powiązanie sieciowe i zasady zapory). Kroki są napisane z myślą o wdrożeniach produkcyjnych i zawierają wspólne porady dotyczące rozwiązywania problemów, abyś mógł uruchomić MongoDB niezawodnie od pierwszego dnia.

Wymagania wstępne (szybka lista kontrolna)

  • VPS z dostępem root/sudo

  • 64-bitowy system operacyjny (MongoDB 8.0 wspiera Debian 12 Bookworm, Ubuntu LTS)

  • Zalecane dla produkcji: przeczytaj notatki produkcyjne MongoDB (systemy plików, pamięć, ulimits itp.)

Najpierw zaktualizuj swój serwer:

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

Ważne: nie używaj pakietu dystrybucji mongodb (może to powodować konflikty z mongodb-org).

 Zainstaluj MongoDB na Debianie 12 (Bookworm)

Dodaj oficjalny klucz + repozytorium

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

Zainstaluj

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

(Te polecenia pochodzą z oficjalnej dokumentacji instalacji MongoDB dla Debiana 12.)

Zainstaluj MongoDB na Ubuntu LTS (24.04 / 22.04)

Dodaj oficjalny klucz + repozytorium

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

Zainstaluj

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

 Uruchom MongoDB (i napraw „mongod.service not found”)

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

MongoDB szczególnie zaznacza, aby wykonać daemon-reload, jeśli zobaczysz „Jednostka mongod.service nie znaleziona”.

„Utwórz” swoją bazę danych + użytkowników (zalecany przebieg)

Otwórz powłokę lokalnie na VPS:

mongosh

Utwórz użytkownika administratora

W mongosh:

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

Utwórz bazę danych aplikacji + użytkownika

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

 Zabezpiecz MongoDB (nie pomijaj tego)

Lista kontrolna bezpieczeństwa MongoDB zdecydowanie zaleca wzmocnienie zabezpieczeń przed ujawnieniem czegokolwiek.

A) Utrzymuj MongoDB w prywatności (najlepsza praktyka)

MongoDB ostrzega, aby wiązać tylko do zaufanych sieci.
W /etc/mongod.conf upewnij się, że nasłuchuje tylko na localhost (lub prywatnym adresie IP LAN):

net:
bindIp: 127.0.0.1

Uruchom ponownie:

sudo systemctl restart mongod

B) Włącz uwierzytelnianie

Edytuj /etc/mongod.conf:

security:
authorization:enabled

Uruchom ponownie:

sudo systemctl restart mongod

C) Zasada zapory (tylko jeśli naprawdę potrzebujesz zdalnego dostępu)

Unikaj otwierania 27017 dla publicznego internetu. Jeśli musisz zezwolić na dostęp, ogranicz do jednego adresu IP (przykład z UFW):

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

D) Bezpieczniejszy zdalny dostęp (tunel SSH)

Z twojego laptopa:

ssh -L 27017:127.0.0.1:27017 root@YOUR_VPS_IP

Następnie połącz się lokalnie:

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

 Kopia zapasowa (prosta i niezawodna)

MongoDB zapewnia mongodump do logicznych kopii zapasowych.

Przykład:

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

Przywróć:

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

 Wspólne kontrole (gdy coś zawiedzie)

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

Zaoszczędź 15% na wszystkich usługach hostingowych

Sprawdź swoje umiejętności i zdobądź Rabat na dowolny plan hostingowy

Użyj kodu:

Skills
Rozpocznij