La gestione di MongoDB su un VPS Linux comporta l’installazione, la configurazione, la sicurezza e l’ottimizzazione delle prestazioni.
1. Installazione di MongoDB su VPS Linux
MongoDB può essere installato utilizzando gestori di pacchetti come apt (per Debian/Ubuntu) o yum (per CentOS/RHEL).
Per Ubuntu/Debian
- Aggiornare l’elenco dei pacchetti:
sudo apt updatesudo apt upgrade -y
- Importare la chiave GPG di MongoDB:
curl -fsSL https://www.mongodb.org/static/pgp/server-6.0.asc | sudo gpg --dearmor -o /usr/share/keyrings/mongodb-server-keyring.gpg
**Eseguire il seguente comando per aggiungere la chiave pubblica mancante:
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys B00A0BD1E2C63C11**Eseguire questo comando per importare manualmente la chiave:
wget -qO - https://pgp.mongodb.com/server-5.0.asc | sudo tee /etc/apt/trusted.gpg.d/mongodb-server-5.0.Verificare se la chiave è stata aggiunta con successo:
gpg --dry-run --quiet --import --import-options import-show /etc/apt/trusted.gpg.d/mongodb-serverecho "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.listDebian:
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.listsudo apt update
sudo apt install -y mongodb-org
sudo systemctl start mongod
sudo systemctl enable mongodPer CentOS/RHEL
- Aggiungere il repository MongoDB:
sudo tee /etc/yum.repos.d/mongodb-org-6.0.repo <<EOF
[mongodb-org-6.0]
nome=repository MongoDB
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/6.0/x86_64/
gpgcheck=1
abilitato=1
gpgkey=https://www.mongodb.org/static/pgp/server-6.0.asc
EOF - Installare MongoDB:
sudo yum install -y mongodb-org
- Avviare e abilitare MongoDB:
sudo systemctl start mongod
sudo systemctl enable mongod
2. Proteggere MongoDB
Per impostazione predefinita, MongoDB è in ascolto su localhost (127.0.0.1). Per proteggerlo:
Abilitare l’autenticazione
- Creare un utente amministratore:
mongosh
use admin
db.createUser({
user: "admin",
pwd: "StrongPassword",
roles: [{ role: "root", db: "admin" }]
}) - Abilitare l’autenticazione nel file di configurazione di MongoDB:
sudo nano /etc/mongod.conf
Trovare la sezione sicurezza e aggiungere:
security:
authorization: enabled - Riavviare MongoDB:
sudo systemctl restart mongod
Limitare l’accesso esterno
- Modificare MongoDB per ascoltare solo localhost:
sudo nano /etc/mongod.conf
Modificare:
bindIp: 127. 0.0.1
- Utilizzare UFW (Ubuntu) o FirewallD (CentOS) per consentire solo IP specifici:
sudo ufw allow from YOUR_IP to any port 27017
3. Gestire MongoDB
Controllare lo stato del servizio MongoDB
sudo systemctl status mongod
Riavviare MongoDB
sudo systemctl restart mongod
Arrestare MongoDB
sudo systemctl stop mongod
Abilitare l’avvio di MongoDB all’avvio
sudo systemctl enable mongod
4. Gestione dei database in MongoDB
Connettersi a MongoDB
mongosh
Creare un database
use mydatabase
Mostra database
show dbs
Creare una raccolta
db.createCollection("users")
Inserire i dati
db.users.insertOne({ name: "John Doe", age: 30, email: "john@example.com" })
Trova i dati
db.users.find()
Cancellare un database
use mydatabase
db.dropDatabase()5. Backup e ripristino
Backup del database MongoDB
mongodump --db=mydatabase --out=/backup/
Ripristino del database MongoDB
mongorestore --db=mydatabase /backup/mydatabase/
6. Ottimizzazione delle prestazioni
Indicizzazione per query più veloci
db.users.createIndex({ email: 1 })
Monitoraggio delle prestazioni
db.serverStatus()
Limitare l’uso della memoria
Modificare wiredTigerCacheSizeGB in /etc/mongod.conf:
storage:
wiredTiger:
engineConfig:
cacheSizeGB: 1Utilizzare il pool di connessioni
Modificare /etc/mongod.conf:
net:
maxIncomingConnections: 10007. Registri e debug
Visualizzare i log di MongoDB
sudo journalctl -u mongod --no-pager | tail -n 50
Controllare i log degli errori
sudo cat /var/log/mongodb/mongod.log
8. Disinstallare MongoDB (se necessario)
Per Ubuntu/Debian
sudo systemctl stop mongod
sudo apt purge -y mongodb-org*
sudo rm -r /var/log/mongodb /var/lib/mongodbPer CentOS/RHEL
sudo systemctl stop mongod
sudo yum remove -y mongodb-org*
sudo rm -r /var/log/mongodb /var/lib/mongodbConclusione
La gestione di MongoDB su un VPS Linux richiede una corretta installazione, un rafforzamento della sicurezza e un’ottimizzazione delle prestazioni. Seguendo questi passaggi, vi assicurerete che il vostro database MongoDB funzioni in modo efficiente e sicuro. 🚀
Volete aiuto con gli script di automazione per la gestione di MongoDB? 😊
Post Correlati
Introduzione al comando Read in Linux: esempi pratici
Mastering Basic Linux Commands for Efficient Server Management I comandi Linux di base sono essenziali per la navigazione e la...
Come risolvere l’errore “PHP Max Input Vars Limit” in WordPress
🚀 Come risolvere l’errore “PHP Max Input Vars Limit” in WordPress Se state costruendo o gestendo un sito WordPress e...
Cosa sono le directory www e public_html nel mio hosting?
Introduzione Quando gestisci un sito web, potresti trovare due directory comuni: www e public_html. Queste directory svolgono un ruolo fondamentale...

