15%

Poupe 15% em todos os serviços

Teste as suas habilidades e obtenha Desconto em qualquer plano

Utilizar o código:

Skills
Começar a trabalhar
18.09.2025

Como criar MongoDB em VPS

MongoDB é um banco de dados NoSQL popular e de alto desempenho usado para aplicações modernas que precisam de modelos de dados flexíveis, leituras/gravações rápidas e fácil escalabilidade horizontal. Se você está implantando uma API, plataforma SaaS, CRM, backend de e-commerce ou qualquer serviço orientado a dados, executar o MongoDB em um VPS lhe dá controle total sobre desempenho, segurança e custos.

Neste guia, você aprenderá como instalar MongoDB Community Edition (última versão suportada) em um VPS Linux usando os repositórios oficiais do MongoDB, iniciar e habilitar o serviço, criar usuários e bancos de dados, e aplicar as melhores práticas de segurança essenciais (autenticação, vinculação de rede segura e regras de firewall). Os passos são escritos para implantações em estilo de produção e incluem dicas comuns de solução de problemas para que você possa fazer o MongoDB funcionar de forma confiável desde o primeiro dia.

Pré-requisitos (lista de verificação rápida)

  • Um VPS com acesso root/sudo

  • SO de 64 bits (MongoDB 8.0 suporta Debian 12 Bookworm, Ubuntu LTS)

  • Recomendado para produção: leia as notas de produção do MongoDB (sistemas de arquivos, memória, ulimits, etc.)

Atualize seu servidor primeiro:

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

Importante: não use o pacote mongodb da distribuição (pode entrar em conflito com mongodb-org).

 Instalar MongoDB no Debian 12 (Bookworm)

Adicionar a chave + repositório oficial

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

Instalar

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

(Esses comandos são da documentação oficial de instalação do MongoDB para Debian 12.)

Instalar MongoDB no Ubuntu LTS (24.04 / 22.04)

Adicionar a chave + repositório oficial

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

Instalar

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

 Iniciar MongoDB (e corrigir “mongod.service not found”)

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

MongoDB observa especificamente daemon-reload se você ver “Unit mongod.service not found”.

“Criar” seu banco de dados + usuários (fluxo recomendado)

Abra o shell localmente no VPS:

mongosh

Criar um usuário administrador

No mongosh:

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

Criar um banco de dados + usuário de aplicação

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

 Proteger MongoDB (não pule isso)

A lista de verificação de segurança do MongoDB recomenda fortemente a proteção antes de expor qualquer coisa.

A) Mantenha o MongoDB privado (melhor prática)

O MongoDB alerta para vincular apenas a redes confiáveis.
Em /etc/mongod.conf, certifique-se de que ele escute apenas no localhost (ou um IP de LAN privado):

net:
bindIp: 127.0.0.1

Reinicie:

sudo systemctl restart mongod

B) Habilitar autenticação

Edite /etc/mongod.conf:

security:
authorization:enabled

Reinicie:

sudo systemctl restart mongod

C) Regra de firewall (apenas se você realmente precisar de acesso remoto)

Evite abrir 27017 para a internet pública. Se você precisar permitir o acesso, restrinja a um único IP (exemplo com UFW):

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

D) Acesso remoto mais seguro (túnel SSH)

Do seu laptop:

ssh -L 27017:127.0.0.1:27017 root@YOUR_VPS_IP

Em seguida, conecte-se localmente:

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

 Backup (simples e confiável)

O MongoDB fornece mongodump para backups lógicos.

Exemplo:

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

Restaurar:

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

 Verificações comuns (quando algo falha)

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

Poupe 15% em todos os serviços

Teste as suas habilidades e obtenha Desconto em qualquer plano

Utilizar o código:

Skills
Começar a trabalhar