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
sudo apt update && sudo apt upgrade -ySetaț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
sudo apt updatesudo apt install -y mongodb-org🧪 Pasul 3: Porniți și activați MongoDB
sudo systemctl start mongodsudo systemctl enable mongodVerificați starea:
sudo systemctl status mongod🔐 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
sudo nano /etc/mongod.confGăsiți linia bindIp sub net: și modificați:
bindIp: 127. 0.0.1,0.0.0.02. Activați autentificarea
Sub secțiunea security:, adăugați:
security:
authorization: enabledReporniți MongoDB:
sudo systemctl restart mongod👤 Pasul 5: Crearea utilizatorului Admin
Accesați shell-ul MongoDB:
mongoshCreaț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:
mongosh -u admin -p --authenticationDatabase admin🛡️ 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:
sudo ufw allow from YOUR.IP.ADDRESS to any port 270172. Fail2Ban (protecție SSH)
sudo apt install fail2ban -ysudo systemctl enable fail2ban⚙️ 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:
mongodump --out /var/backups/mongodb/$(data %F)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ță:
mongosh "mongodb://admin:StrongPassword123!@your-server-ip:27017/admin"Î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:
sudo tail -f /var/log/mongodb/mongod.log✅ 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ă.


