Cosa c'è installato sul tuo server MERN?
- Un progetto React creato con Vite, in /home/app/uygulama/istemci
- Express 5 e Mongoose 9 in sunucu/server.js, con una route /api/saglik che scrive davvero su MongoDB
- Node.js 26 (repository NodeSource) e PM2
- MongoDB 8.0 in ascolto solo su 127.0.0.1, protetto da utente e password
- Caddy, che ottiene da solo il certificato HTTPS per un indirizzo sslip.io, quindi il dominio è facoltativo
- Un file di swap da 2 GB e un firewall con aperte solo le porte 22, 80 e 443
Che dimensione ti serve per MERN?
Per MERN non esiste un valore ufficiale di RAM. Node.js, MongoDB e le build di React condividono la stessa memoria su questo server, e la cache di MongoDB è 512 MB con 2 GB e 1,5 GB con 4 GB. Come regola pratica, 2 GB sono un buon inizio per una demo o un piccolo progetto e 4 GB per un progetto con utenti reali. La dimensione più piccola è 2 GB di RAM, 1 CPU e un disco da 20 GB. RAM e CPU possono salire o scendere, il disco può solo crescere, e i tuoi dati e il tuo indirizzo IP restano gli stessi.
| Uso | Dimensione | Prezzo | Scegli |
|---|---|---|---|
| Base | 2 GB RAM · 1 vCore · 40 GB NVMe | $4.01/mese | |
| Media | 4 GB RAM · 2 vCore · 60 GB NVMe | $6.89/mese | |
| Potente | 8 GB RAM · 4 vCore · 120 GB NVMe | $13.62/mese |
Per chi è?
- Chi vuole un front end React e un'API Express su un solo server
- Sviluppatori che pubblicano sul proprio server un'app React creata con strumenti di IA
- Piccoli team che rilasciano una demo, una prima versione o uno strumento interno
Cosa succede dopo l'ordine?
- Imposta la dimensione e completa il pagamento.
- Il server si avvia e lo stack MERN si installa da solo. Nei nostri test su server reali ci sono voluti circa 4 minuti.
- Apri l'Indirizzo del sito dalla scheda Panoramica. La pagina di esempio dice MongoDB: OK.
- Connettiti via SSH e digita su - app. Metti il progetto in ~/uygulama, con React in istemci ed Express in sunucu.
- Compila dalla cartella istemci: npm run build -- --outDir ../sunucu/public --emptyOutDir
- Esegui pm2 restart uygulama e controlla la modifica al tuo Indirizzo del sito.
Con ogni server
- Backup giornalieri inclusi nel prezzo
- Traffico illimitato
- Accesso root completo
- Aumenta o riduci RAM e CPU in seguito, e ingrandisci il disco
- Sede: Istanbul · IST-1.
Da sapere
- Ordinando, accetti i termini della Server Side Public License (SSPL) di MongoDB.
- Caddy inoltra le richieste a 127.0.0.1:3000. Metti il tuo file server in ascolto su quella porta e leggi l'indirizzo del database da MONGO_ADRES in sunucu/.env.
- Le variabili che iniziano con VITE_ vengono scritte nel tuo codice durante la build e sono visibili nel browser. Non metterci segreti e ricompila quando un valore cambia.
- Se il tuo file di ingresso non è server.js, ridefinisci il processo: pm2 delete uygulama, pm2 start FILE --name uygulama, pm2 save.
- C'è un solo nodo MongoDB. Per transazioni o change stream con Mongoose, devi configurare un replica set.
- Tenere aggiornati Node.js, MongoDB e i tuoi pacchetti npm è una tua responsabilità.
Domande e risposte su MERN
Come faccio il deploy del mio progetto con stack MERN?
Passa all'utente con su - app e metti il codice Express in ~/uygulama/sunucu e quello React in ~/uygulama/istemci. Esegui npm install in entrambe, compila da istemci con npm run build -- --outDir ../sunucu/public --emptyOutDir, poi esegui pm2 restart uygulama.
Di quanta RAM ha bisogno uno stack MERN?
Per uno stack MERN non esiste un valore ufficiale di RAM. Come regola pratica, 2 GB sono un buon inizio per una demo o un piccolo progetto e 4 GB per un progetto con utenti reali.
Devo configurare CORS?
Non con questa struttura. React viene compilato, Express serve l'output e l'API sta allo stesso indirizzo, quindi il tuo front end chiama direttamente i percorsi che iniziano con /api. Se ospiti il front end altrove, configuri tu CORS in Express.
React Router dà un 404 quando aggiorno la pagina?
No. Il server.js di esempio restituisce index.html per qualsiasi percorso sconosciuto e da lì continua React Router. Se scrivi il tuo file server, mantieni questo comportamento e definisci le route dell'API prima di esso.
Posso collegarmi a MongoDB dall'esterno?
Su questo server MERN MongoDB è in ascolto solo all'interno del server. Per usare Compass, apri un tunnel SSH con ssh -L 27017:127.0.0.1:27017 root@IP.
La mia app riparte dopo un riavvio?
Sì. PM2 gira sotto il servizio pm2-app, che all'avvio ripristina la lista dei processi salvata. Dopo aver cambiato i processi, salva la lista con pm2 save.