Wat is er geïnstalleerd op je MERN-server?
- Een React-project gemaakt met Vite, in /home/app/uygulama/istemci
- Express 5 en Mongoose 9 in sunucu/server.js, met een route /api/saglik die echt naar MongoDB schrijft
- Node.js 26 (NodeSource-repository) en PM2
- MongoDB 8.0 dat alleen op 127.0.0.1 luistert, beveiligd met een gebruiker en wachtwoord
- Caddy, dat zelf een HTTPS-certificaat ophaalt voor een sslip.io-adres, dus een domein is optioneel
- Een swapbestand van 2 GB en een firewall waarbij alleen de poorten 22, 80 en 443 open staan
Welke grootte heb je nodig voor MERN?
Voor MERN bestaat geen officieel RAM-getal. Node.js, MongoDB en React-builds delen op deze server hetzelfde geheugen, en de cache van MongoDB is 512 MB bij 2 GB en 1,5 GB bij 4 GB. Als vuistregel is 2 GB een goed begin voor een demo of klein project, en 4 GB voor een project met echte gebruikers. De kleinste grootte is 2 GB RAM, 1 CPU en een schijf van 20 GB. RAM en CPU kunnen omhoog of omlaag, de schijf kan alleen groeien, en je gegevens en IP-adres blijven hetzelfde.
| Gebruik | Grootte | Prijs | Kiezen |
|---|---|---|---|
| Starter | 2 GB RAM · 1 vCore · 40 GB NVMe | $4.01/mnd | |
| Gemiddeld | 4 GB RAM · 2 vCore · 60 GB NVMe | $6.89/mnd | |
| Krachtig | 8 GB RAM · 4 vCore · 120 GB NVMe | $13.62/mnd |
Voor wie is het?
- Iedereen die een React-front-end en een Express-API op één server wil
- Ontwikkelaars die een met AI-tools gebouwde React-app op hun eigen server publiceren
- Kleine teams die een demo, een eerste versie of een interne tool opleveren
Wat gebeurt er na je bestelling?
- Stel de grootte in en rond je betaling af.
- Je server start op en de MERN-stack installeert zichzelf. Dat duurde in onze tests op een echte server ongeveer 4 minuten.
- Open het Siteadres via het tabblad Overzicht. De voorbeeldpagina zegt MongoDB: OK.
- Maak verbinding via SSH en typ su - app. Zet je project onder ~/uygulama, met React in istemci en Express in sunucu.
- Bouw vanuit de map istemci: npm run build -- --outDir ../sunucu/public --emptyOutDir
- Voer pm2 restart uygulama uit en controleer de wijziging op je Siteadres.
Bij elke server
- Dagelijkse back-up inbegrepen in de prijs
- Onbeperkt verkeer
- Volledige rootrechten
- Schaal RAM en CPU later op of af, en laat de schijf groeien
- Locatie: Istanbul · IST-1.
Goed om te weten
- Door te bestellen ga je akkoord met de voorwaarden van de Server Side Public License (SSPL) van MongoDB.
- Caddy stuurt verzoeken door naar 127.0.0.1:3000. Luister op die poort in je eigen serverbestand en lees het databaseadres uit MONGO_ADRES in sunucu/.env.
- Variabelen die met VITE_ beginnen, worden tijdens de build in je code geschreven en zijn zichtbaar in de browser. Zet er geen geheimen in en bouw opnieuw als een waarde verandert.
- Is je invoerbestand niet server.js, definieer het proces dan opnieuw: pm2 delete uygulama, pm2 start FILE --name uygulama, pm2 save.
- Er is één MongoDB-node. Voor transacties of change streams met Mongoose zet je een replicaset op.
- Node.js, MongoDB en je npm-pakketten up-to-date houden is jouw zaak.
Vragen en antwoorden over MERN
Hoe zet ik mijn MERN-stackproject online?
Schakel over met su - app en zet je Express-code in ~/uygulama/sunucu en je React-code in ~/uygulama/istemci. Voer in beide npm install uit, bouw vanuit istemci met npm run build -- --outDir ../sunucu/public --emptyOutDir en voer daarna pm2 restart uygulama uit.
Hoeveel RAM heeft een MERN-stack nodig?
Voor een MERN-stack bestaat geen officieel RAM-getal. Als vuistregel is 2 GB een goed begin voor een demo of klein project, en 4 GB voor een project met echte gebruikers.
Moet ik CORS instellen?
Niet bij deze opzet. React wordt gebouwd, Express serveert de uitvoer en de API staat op hetzelfde adres, dus je front-end roept paden die met /api beginnen rechtstreeks aan. Host je de front-end ergens anders, dan stel je CORS zelf in Express in.
Geeft React Router een 404 als ik een pagina vernieuw?
Nee. De voorbeeld-server.js geeft voor elk onbekend pad index.html terug, en React Router neemt het van daar over. Schrijf je een eigen serverbestand, behoud dan dit gedrag en definieer je API-routes erboven.
Kan ik van buitenaf verbinden met MongoDB?
Op deze MERN-server luistert MongoDB alleen binnen de server. Om Compass te gebruiken, open je een SSH-tunnel met ssh -L 27017:127.0.0.1:27017 root@IP.
Komt mijn app terug na een herstart?
Ja. PM2 draait onder de service pm2-app, die bij het opstarten de opgeslagen proceslijst herstelt. Sla de lijst na het wijzigen van je processen op met pm2 save.