¿Qué viene instalado en tu servidor MERN?
- Un proyecto React creado con Vite, en /home/app/uygulama/istemci
- Express 5 y Mongoose 9 en sunucu/server.js, con una ruta /api/saglik que escribe de verdad en MongoDB
- Node.js 26 (repositorio NodeSource) y PM2
- MongoDB 8.0 que escucha solo en 127.0.0.1, protegida con usuario y contraseña
- Caddy, que obtiene su propio certificado HTTPS para una dirección sslip.io, así que el dominio es opcional
- Un archivo de swap de 2 GB y un cortafuegos con solo los puertos 22, 80 y 443 abiertos
¿Qué tamaño necesitas para MERN?
No hay una cifra oficial de RAM para MERN. Node.js, MongoDB y las compilaciones de React comparten la misma memoria en este servidor, y la caché de MongoDB es de 512 MB con 2 GB y de 1,5 GB con 4 GB. Como regla general, 2 GB es un buen punto de partida para una demo o un proyecto pequeño, y 4 GB para un proyecto con usuarios reales. El tamaño más pequeño es de 2 GB de RAM, 1 CPU y un disco de 20 GB. La RAM y la CPU pueden subir o bajar, el disco solo crece, y tus datos y tu dirección IP no cambian.
| Uso | Tamaño | Precio | Elegir |
|---|---|---|---|
| Inicial | 2 GB RAM · 1 vCore · 40 GB NVMe | $4.01/mes | |
| Medio | 4 GB RAM · 2 vCore · 60 GB NVMe | $6.89/mes | |
| Potente | 8 GB RAM · 4 vCore · 120 GB NVMe | $13.62/mes |
¿Para quién es?
- Quien quiere un front-end React y una API Express en un solo servidor
- Desarrolladores que publican en su propio servidor una aplicación React creada con herramientas de IA
- Equipos pequeños que lanzan una demo, una primera versión o una herramienta interna
¿Qué pasa después de pedir?
- Ajusta el tamaño y completa el pago.
- Tu servidor arranca y el MERN stack se instala solo. En nuestras pruebas con servidores reales tardó unos 4 minutos.
- Abre la Dirección del sitio desde la pestaña Resumen. La página de ejemplo dice MongoDB: OK.
- Conéctate por SSH y escribe su - app. Pon tu proyecto en ~/uygulama, con React en istemci y Express en sunucu.
- Compila desde la carpeta istemci: npm run build -- --outDir ../sunucu/public --emptyOutDir
- Ejecuta pm2 restart uygulama y comprueba el cambio en tu Dirección del sitio.
Con cada servidor
- Copia de seguridad diaria incluida en el precio
- Tráfico ilimitado
- Acceso root completo
- Amplía o reduce RAM y CPU más adelante, y haz crecer el disco
- Ubicación: Istanbul · IST-1.
Conviene saber
- Al hacer el pedido, aceptas los términos de la Server Side Public License (SSPL) de MongoDB.
- Caddy reenvía las peticiones a 127.0.0.1:3000. Escucha en ese puerto en tu propio archivo de servidor y lee la dirección de la base de datos de MONGO_ADRES en sunucu/.env.
- Las variables que empiezan por VITE_ se escriben en tu código durante la compilación y son visibles en el navegador. No pongas secretos en ellas y vuelve a compilar cuando cambie un valor.
- Si tu archivo de entrada no es server.js, redefine el proceso: pm2 delete uygulama, pm2 start FILE --name uygulama, pm2 save.
- Hay un solo nodo de MongoDB. Para usar transacciones o change streams con Mongoose, tienes que configurar un replica set.
- Mantener al día Node.js, MongoDB y tus paquetes npm corre de tu cuenta.
Preguntas y respuestas sobre MERN
¿Cómo despliego mi proyecto MERN stack?
Cambia de usuario con su - app y pon tu código de Express en ~/uygulama/sunucu y tu código de React en ~/uygulama/istemci. Ejecuta npm install en ambos, compila desde istemci con npm run build -- --outDir ../sunucu/public --emptyOutDir y después ejecuta pm2 restart uygulama.
¿Cuánta RAM necesita un MERN stack?
Un MERN stack no tiene una cifra oficial de RAM. Como regla general, 2 GB es un buen punto de partida para una demo o un proyecto pequeño, y 4 GB para un proyecto con usuarios reales.
¿Tengo que configurar CORS?
No con esta estructura. React se compila, Express sirve el resultado y la API está en la misma dirección, así que tu front-end llama directamente a las rutas que empiezan por /api. Si alojas el front-end en otro sitio, configuras CORS en Express tú mismo.
¿React Router da un 404 al actualizar una página?
No. El server.js de ejemplo devuelve index.html para cualquier ruta desconocida, y React Router se encarga desde ahí. Si escribes tu propio archivo de servidor, mantén este comportamiento y define tus rutas de API antes.
¿Puedo conectarme a MongoDB desde fuera?
En este servidor MERN, MongoDB escucha solo dentro del servidor. Para usar Compass, abre un túnel SSH con ssh -L 27017:127.0.0.1:27017 root@IP.
¿Vuelve a funcionar mi aplicación tras un reinicio?
Sí. PM2 se ejecuta bajo el servicio pm2-app, que restaura la lista de procesos guardada al arrancar. Después de cambiar tus procesos, guarda la lista con pm2 save.