15%

Спести 15% на всички хостинг услуги

Тествай уменията си и получи Отстъпка за всеки хостинг план

Използвайте код:

Skills
За начало
18.09.2025

Как да създадете MongoDB на VPS

MongoDB е популярна, високопроизводителна NoSQL база данни, използвана за съвременни приложения, които се нуждаят от гъвкави модели на данни, бързи четения/записи и лесно хоризонтално мащабиране. Ако внедрявате API, SaaS платформа, CRM, бекенд за електронна търговия или услуга, базирана на данни, работата с MongoDB на VPS ви дава пълен контрол върху производителността, сигурността и разходите.

В това ръководство ще научите как да инсталирате MongoDB Community Edition (най-новото поддържано издание) на Linux VPS, използвайки официалните хранилища на MongoDB, да стартирате и активирате услугата, да създадете потребители и бази данни и да приложите основни най-добри практики за сигурност (автентикация, безопасно свързване на мрежата и правила за защитна стена). Стъпките са написани за внедряване в производствен стил и включват общи съвети за отстраняване на проблеми, така че да можете да стартирате MongoDB надеждно от първия ден.

Предварителни условия (бърз списък)

  • VPS с root/sudo достъп

  • 64-битова ОС (MongoDB 8.0 поддържа Debian 12 Bookworm, Ubuntu LTS)

  • Препоръчително за производство: прочетете производствените бележки на MongoDB (файлови системи, памет, ulimits и др.)

Актуализирайте сървъра си първо:

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

Важно: не използвайте пакета mongodb от дистрибуцията (може да конфликтува с mongodb-org).

 Инсталирайте MongoDB на Debian 12 (Bookworm)

Добавете официалния ключ + хранилище

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

Инсталирайте

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

(Тези команди са от официалната документация за инсталиране на MongoDB за Debian 12.)

Инсталирайте MongoDB на Ubuntu LTS (24.04 / 22.04)

Добавете официалния ключ + хранилище

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

Инсталирайте

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

 Стартирайте MongoDB (и поправете “mongod.service not found”)

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

MongoDB специално отбелязва daemon-reload, ако видите “Unit mongod.service not found”.

“Създайте” вашата база данни + потребители (препоръчителен поток)

Отворете шел локално на VPS:

mongosh

Създайте администраторски потребител

В mongosh:

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

Създайте база данни за приложение + потребител

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

 Сигурност на MongoDB (не пропускайте това)

Списъкът за сигурност на MongoDB силно препоръчва укрепване преди да се изложи нещо.

A) Дръжте MongoDB частна (най-добра практика)

MongoDB предупреждава да се свързва само с доверени мрежи.
В /etc/mongod.conf, уверете се, че слуша само на localhost (или частен LAN IP):

net:
bindIp: 127.0.0.1

Рестартирайте:

sudo systemctl restart mongod

B) Активирайте автентикация

Редактирайте /etc/mongod.conf:

security:
authorization:enabled

Рестартирайте:

sudo systemctl restart mongod

C) Правило за защитна стена (само ако наистина се нуждаете от отдалечен достъп)

Избягвайте да отваряте 27017 за публичния интернет. Ако трябва да разрешите достъп, ограничете до един IP (пример с UFW):

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

D) По-безопасен отдалечен достъп (SSH тунел)

От вашия лаптоп:

ssh -L 27017:127.0.0.1:27017 root@YOUR_VPS_IP

След това се свържете локално:

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

 Резервно копие (просто и надеждно)

MongoDB предоставя mongodump за логични резервни копия.

Пример:

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

Възстановяване:

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

 Общи проверки (когато нещо се провали)

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

Спести 15% на всички хостинг услуги

Тествай уменията си и получи Отстъпка за всеки хостинг план

Използвайте код:

Skills
За начало