O que vem instalado no seu servidor MERN?
- Um projeto React criado com o Vite, em /home/app/uygulama/istemci
- Express 5 e Mongoose 9 em sunucu/server.js, com uma rota /api/saglik que realmente grava no MongoDB
- Node.js 26 (repositório NodeSource) e PM2
- MongoDB 8.0 escutando apenas em 127.0.0.1, protegido por usuário e senha
- Caddy, que obtém o próprio certificado HTTPS para um endereço sslip.io, então ter um domínio é opcional
- Um arquivo de swap de 2 GB e um firewall com apenas as portas 22, 80 e 443 abertas
Qual tamanho você precisa para MERN?
Não existe um valor oficial de RAM para MERN. O Node.js, o MongoDB e as compilações do React dividem a mesma memória neste servidor, e o cache do MongoDB é de 512 MB com 2 GB e de 1,5 GB com 4 GB. Como regra prática, 2 GB é um bom começo para uma demonstração ou projeto pequeno, e 4 GB para um projeto com usuários de verdade. O menor tamanho é de 2 GB de RAM, 1 CPU e 20 GB de disco. RAM e CPU podem aumentar ou diminuir, o disco só aumenta, e seus dados e seu endereço IP continuam os mesmos.
| Uso | Tamanho | Preço | Escolher |
|---|---|---|---|
| Inicial | 2 GB RAM · 1 vCore · 40 GB NVMe | $4.01/mês | |
| Médio | 4 GB RAM · 2 vCore · 60 GB NVMe | $6.89/mês | |
| Potente | 8 GB RAM · 4 vCore · 120 GB NVMe | $13.62/mês |
Para quem é?
- Quem quer um front-end React e uma API Express em um único servidor
- Desenvolvedores que publicam no próprio servidor um app React criado com ferramentas de IA
- Pequenas equipes que lançam uma demonstração, uma primeira versão ou uma ferramenta interna
O que acontece depois do pedido?
- Defina o tamanho e conclua o pagamento.
- Seu servidor inicia e a pilha MERN se instala sozinha. Nos nossos testes em servidor real, isso levou cerca de 4 minutos.
- Abra o Endereço do site na aba Visão geral. A página de exemplo mostra MongoDB: OK.
- Conecte-se por SSH e digite su - app. Coloque seu projeto em ~/uygulama, com o React em istemci e o Express em sunucu.
- Compile a partir da pasta istemci: npm run build -- --outDir ../sunucu/public --emptyOutDir
- Execute pm2 restart uygulama e confira a mudança no seu Endereço do site.
Em todo servidor
- Backup diário incluído no preço
- Tráfego ilimitado
- Acesso root completo
- Aumente ou reduza RAM e CPU depois, e aumente o disco
- Localização: Istanbul · IST-1.
Bom saber
- Ao fazer o pedido, você aceita os termos da Server Side Public License (SSPL) do MongoDB.
- O Caddy encaminha as requisições para 127.0.0.1:3000. Escute nessa porta no seu próprio arquivo de servidor e leia o endereço do banco de dados em MONGO_ADRES, em sunucu/.env.
- As variáveis que começam com VITE_ são gravadas no seu código na hora da compilação e ficam visíveis no navegador. Não coloque segredos nelas e recompile quando um valor mudar.
- Se o seu arquivo de entrada não for server.js, redefina o processo: pm2 delete uygulama, pm2 start ARQUIVO --name uygulama, pm2 save.
- Há um único nó do MongoDB. Para usar transações ou change streams com o Mongoose, você configura um replica set.
- Manter o Node.js, o MongoDB e seus pacotes npm atualizados é responsabilidade sua.
Perguntas e respostas sobre MERN
Como publico meu projeto MERN stack?
Mude com su - app e coloque seu código Express em ~/uygulama/sunucu e seu código React em ~/uygulama/istemci. Execute npm install nas duas pastas, compile a partir de istemci com npm run build -- --outDir ../sunucu/public --emptyOutDir e depois execute pm2 restart uygulama.
De quanta RAM uma MERN stack precisa?
Uma MERN stack não tem um valor oficial de RAM. Como regra prática, 2 GB é um bom começo para uma demonstração ou projeto pequeno, e 4 GB para um projeto com usuários de verdade.
Preciso configurar o CORS?
Neste formato, não. O React é compilado, o Express serve a saída e a API fica no mesmo endereço, então seu front-end chama diretamente os caminhos que começam com /api. Se você hospedar o front-end em outro lugar, configure o CORS no Express por conta própria.
O React Router dá erro 404 quando atualizo uma página?
Não. O server.js de exemplo devolve o index.html para qualquer caminho desconhecido, e o React Router assume a partir daí. Se você escrever seu próprio arquivo de servidor, mantenha esse comportamento e defina suas rotas de API antes dele.
Posso me conectar ao MongoDB de fora?
Neste servidor MERN, o MongoDB escuta apenas dentro do servidor. Para usar o Compass, abra um túnel SSH com ssh -L 27017:127.0.0.1:27017 root@IP.
Meu app volta depois de uma reinicialização?
Sim. O PM2 roda no serviço pm2-app, que restaura a lista de processos salva na inicialização. Depois de alterar seus processos, salve a lista com pm2 save.