Cum să creați o instanță MongoDB pe un VPS
Cum să creați o instanță MongoDB pe un VPS
Implementarea MongoDB pe un server privat virtual (VPS) vă oferă control complet asupra infrastructurii bazei de date – ideal pentru dezvoltatori, start-up-uri și organizații care acordă prioritate performanței, flexibilității și suveranității datelor. Acest ghid vă va ghida prin pașii avansați pentru a instala, configura, securiza și optimiza MongoDB pe un VPS.
🛠️ Pasul 1: Actualizați sistemul
Setați numele de gazdă și fusul orar:
hostnamectl set-hostname mongodb-server
timedatectl set-timezone UTC📦 Pasul 2: Instalați MongoDB
1. Importați cheia GPG MongoDB
wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | sudo gpg --dearmor -o /usr/share/keyrings/mongodb-server-6.0.gpg2. Adăugați depozitul MongoDB
echo "deb [ signed-by=/usr/share/keyrings/mongodb-server-6.0.gpg ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.listNotă: Înlocuiți focal cu jammy sau versiunea dvs. dacă utilizați Ubuntu 22.04.
3. Instalați MongoDB
🧪 Pasul 3: Porniți și activați MongoDB
Verificați starea:
🔐 Pasul 4: Securizați serverul MongoDB
În mod implicit, MongoDB se conectează la 127.0.0.1. Dacă doriți acces de la distanță:
1. Editați configurația
Găsiți linia bindIp sub net: și modificați:
2. Activați autentificarea
Sub secțiunea security:, adăugați:
security:
authorization: enabledReporniți MongoDB:
👤 Pasul 5: Crearea utilizatorului Admin
Accesați shell-ul MongoDB:
Creați un utilizator admin:
use admin
db.createUser({
user: "admin",
pwd: "StrongPassword123!",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
})Ieșiți cu exit, apoi testați autentificarea:
🛡️ Pasul 6: Consolidarea VPS și MongoDB
1. Firewall UFW
sudo ufw allow OpenSSH
sudo ufw allow 27017/tcp
sudo ufw enablePentru acces de la distanță de la un singur IP:
2. Fail2Ban (protecție SSH)
⚙️ Pasul 7: Optimizare avansată (opțional)
1. Set de replici pentru disponibilitate ridicată
Modificați fișierul /etc/mongod.conf:
replication:
replSetName: "rs0"Inițializează:
mongosh
rs.initiate()2. Strategia de backup
Utilizați mongodump pentru backup-uri:
Automatizați cu cron:
crontab -e
# Zilnic la 2 AM
0 2 * * * * /usr/bin/mongodump --out /var/backups/mongodb/$(data \%F)3. Utilizarea TLS/SSL pentru conexiuni criptate
Generați certificate și configurați secțiunea net.ssl în mongod.conf. Acest lucru necesită mai multă configurare și o autoritate de certificare (CA) de încredere.
🧪 Pasul 8: Testați implementarea
Puteți testa conectivitatea la distanță:
Înlocuiți your-server-ip cu IP-ul VPS-ului dvs. sau cu numele domeniului.
📊 Pasul 9: Monitorizați MongoDB
Luați în considerare instrumente precum:
MongoDB Atlas Monitoring Agent (opțional)
Prometheus Grafana cu exportatori
Alertă personalizată cu cron și logwatch
De asemenea, puteți urmări jurnalele direct:
✅ Lista de verificare finală
MongoDB instalat și în funcțiune
Acces la distanță securizat
Autentificarea administratorului impusă
Firewall configurat
Copii de rezervă instalate
Monitorizare opțională activată
🧩 Concluzie
Rularea MongoDB pe un VPS vă oferă o flexibilitate de neegalat, dar necesită o atenție deosebită pentru securitate, backup-uri și performanță. Urmând acest ghid, ați creat o instanță MongoDB sigură și pregătită pentru producție, gata să crească pe măsură ce aplicația dvs. se dezvoltă.


