Gestionarea MongoDB pe un VPS Linux implică instalarea, configurarea, securitatea și optimizarea performanței.

1. Instalarea MongoDB pe VPS Linux

MongoDB poate fi instalat utilizând administratori de pachete precum apt (pentru Debian/Ubuntu) sau yum (pentru CentOS/RHEL).

Pentru Ubuntu/Debian

  1. Actualizați lista de pachete:
    sudo apt update
    sudo apt upgrade -y
  2. Importați cheia GPG MongoDB:
    curl -fsSL https://www.mongodb.org/static/pgp/server-6.0.asc | sudo gpg --dearmor -o /usr/share/keyrings/mongodb-server-keyring.gpg

    **Rulați următoarea comandă pentru a adăuga cheia publică lipsă:

    sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys B00A0BD1E2C63C11
    sau

    **Rulați această comandă pentru a importa manual cheia:

    wget -qO - https://pgp.mongodb.com/server-5.0.asc | sudo tee /etc/apt/trusted.gpg.d/mongodb-server-5.0.

    Verificați dacă cheia a fost adăugată cu succes:

    gpg --dry-run --quiet --import --import-options import-show /etc/apt/trusted.gpg.d/mongodb-server
  3. Adăugați depozitul MongoDB:
    Ubuntu:
    echo "deb [signed-by=/usr/share/keyrings/mongodb-server-keyring.gpg] https://repo.mongodb.org/apt/ubuntu $(lsb_release -cs)/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
    Debian:
    echo "deb [signed-by=/etc/apt/trusted.gpg.d/mongodb-server-5.0.asc] https://repo.mongodb.org/apt/debian bullseye/mongodb-org/5.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-5.0.list
  4. Instalați MongoDB:
    sudo apt update
    sudo apt install -y mongodb-org
  5. Porniți și activați MongoDB:
    sudo systemctl start mongod
    sudo systemctl enable mongod

Pentru CentOS/RHEL

  1. Adăugați depozitul MongoDB:
    sudo tee /etc/yum.repos.d/mongodb-org-6.0.repo <<EOF
    [mongodb-org-6.0]
    name=MongoDB Repository
    baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/6.0/x86_64/
    gpgcheck=1
    enabled=1
    gpgkey=https://www.mongodb.org/static/pgp/server-6.0.asc
    EOF

  2. Instalați MongoDB:
    sudo yum install -y mongodb-org
  3. Porniți și activați MongoDB:
    sudo systemctl start mongod
    sudo systemctl enable mongod

2. Securizarea MongoDB

În mod implicit, MongoDB ascultă pe localhost (127.0.0.1). Pentru a-l securiza:

Activați autentificarea

  1. Creați un utilizator admin:
    mongosh
    use admin
    db.createUser({
    user: "admin",
    pwd: "StrongPassword",
    roles: [{ role: "root", db: "admin" }]
    })
  2. Activați autentificarea în fișierul de configurare MongoDB:
    sudo nano /etc/mongod.conf

    Găsiți secțiunea security și adăugați:

    security:
    authorization: enabled
  3. Reporniți MongoDB:
    sudo systemctl restart mongod

Restricționați accesul extern

  1. Modificați MongoDB pentru a asculta numai localhost:
    sudo nano /etc/mongod.conf

    Modificați:

    bindIp: 127. 0.0.1
  2. Utilizați UFW (Ubuntu) sau FirewallD (CentOS) pentru a permite numai anumite IP-uri:
    sudo ufw allow from YOUR_IP to any port 27017

3. Gestionarea MongoDB

Verificați starea serviciului MongoDB

sudo systemctl status mongod

Reporniți MongoDB

sudo systemctl restart mongod

Opriți MongoDB

sudo systemctl stop mongod

Permiteți MongoDB să pornească la pornire

sudo systemctl enable mongod

4. Gestionarea bazelor de date în MongoDB

Conectarea la MongoDB

mongosh

Crearea unei baze de date

show dbs

Afișați bazele de date

show dbs

Crearea unei colecții

db.createCollection("users")

Introduceți datele

db.users.insertOne({ nume: "John Doe", vârstă: 30, e-mail: "john@example.com" })

Găsirea datelor

db.users.find()

Ștergerea unei baze de date

use mydatabase
db.dropDatabase()

5. Copii de rezervă și restaurări

Copiere de rezervă a bazei de date MongoDB

mongodump --db=mydatabase --out=/backup/

Restaurarea bazei de date MongoDB

mongorestore --db=mydatabase /backup/mydatabase/

6. Optimizarea performanței

Indexare pentru interogări mai rapide

db.users.createIndex({ email: 1 })

Monitorizarea performanței

db.serverStatus()

Limitarea utilizării memoriei

Modificați wiredTigerCacheSizeGB în /etc/mongod.conf:

storage:
wiredTiger:
engineConfig:
cacheSizeGB: 1

Utilizați Connection Pooling

Modificați /etc/mongod.conf:

net:
maxIncomingConnections: 1000

7. Jurnale și depanare

Vizualizarea jurnalelor MongoDB

sudo journalctl -u mongod --no-pager | tail -n 50

Verificați jurnalele de erori

sudo cat /var/log/mongodb/mongod.log

8. Dezinstalați MongoDB (dacă este necesar)

Pentru Ubuntu/Debian

sudo systemctl stop mongod
sudo apt purge -y mongodb-org*
sudo rm -r /var/log/mongodb /var/lib/mongodb

Pentru CentOS/RHEL

sudo systemctl stop mongod
sudo yum remove -y mongodb-org*
sudo rm -r /var/log/mongodb /var/lib/mongodb

Concluzie

Gestionarea MongoDB pe un VPS Linux necesită o instalare corectă, întărirea securității și optimizarea performanței. Urmând acești pași, vă asigurați că baza dvs. de date MongoDB rulează eficient și sigur. 🚀

Doriți ajutor cu scripturi de automatizare pentru gestionarea MongoDB? 😊