Wat is er geïnstalleerd op je Node.js-server?
- Node.js 26 LTS en npm uit de NodeSource-repository
- PM2 7, dat je app draaiende houdt en na een herstart terugbrengt
- Caddy als reverse proxy: hij haalt zelf een HTTPS-certificaat op, en de site opent op een sslip.io-adres op basis van je IP
- Een gebruiker app zonder bijzondere rechten en een projectmap /home/app/uygulama
- Een voorbeeld-server.js die luistert op 127.0.0.1:3000
- git, zodat je je code kunt binnenhalen
- Firewall met de poorten 22, 80 en 443 open, terwijl poort 3000 van je app intern blijft
Welke grootte heb je nodig voor Node.js?
Voor Node.js bestaat geen officieel RAM-getal. Als vuistregel werkt 1 GB als begin voor één API of kleine Express-app, is 2 GB comfortabeler zodra npm install en een buildstap meespelen, en past 4 GB bij een grote front-endbuild. Deze installatie voegt geen swap toe, dus een build stopt als het geheugen op is. Als je CPU-cores toevoegt, draait pm2 start server.js -i max één proces per core. Je wijzigt de grootte vanuit je paneel, en je gegevens en IP-adres blijven hetzelfde.
| Gebruik | Grootte | Prijs | Kiezen |
|---|---|---|---|
| Starter | 1 GB RAM · 1 vCore · 25 GB NVMe | $2.58/mnd | |
| Gemiddeld | 2 GB RAM · 1 vCore · 40 GB NVMe | $4.01/mnd | |
| Krachtig | 4 GB RAM · 2 vCore · 60 GB NVMe | $6.89/mnd |
Voor wie is het?
- Ontwikkelaars die API's schrijven met Express, Fastify of NestJS
- Apps die WebSockets gebruiken, die Caddy doorgeeft aan je proces
- Bots, queue workers en geplande taken die moeten blijven draaien
- Mensen die liever zelf een gewone server draaien dan van een deployplatform afhankelijk te zijn
- Projecten met gebruikers in Turkije die hun API in Istanbul willen
Wat gebeurt er na je bestelling?
- Stel de grootte in en rond je betaling af.
- Je server start op en Node.js installeert zichzelf. Dat duurde in onze tests op een echte server ongeveer 3 minuten.
- Open op het tabblad Overzicht van je paneel de link Siteadres. De voorbeeldpagina toont de Node.js-versie.
- Maak verbinding via SSH, voer su - app uit en ga met cd ~/uygulama naar de map. Verwijder de voorbeeld-server.js en haal je code binnen met git clone.
- Voer npm install uit, daarna pm2 delete uygulama, pm2 start server.js --name uygulama met je eigen invoerbestand, en pm2 save.
- Laat je app luisteren op poort 3000. Caddy stuurt binnenkomende HTTPS-verzoeken daarheen door.
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
- Luistert je app op een andere poort, pas dan de regel reverse_proxy in /etc/caddy/Caddyfile aan en voer als root systemctl reload caddy uit.
- Zonder pm2 save wordt je nieuwe proceslijst niet opgeslagen, en komt na een herstart de oude lijst terug.
- Buildtools zijn niet inbegrepen. Voor pakketten die native modules compileren, voer je als root apt install build-essential uit.
- Er is geen database geïnstalleerd. Verbind je app met een aparte databaseserver of installeer er hier zelf een.
- Node.js blijft op hoofdversie 26. Patches komen via apt, maar apt upgrade uitvoeren en overstappen naar een nieuwe hoofdversie is aan jou.
- Kan er geen certificaat worden uitgegeven, dan opent de site via http op je IP-adres.
Vragen en antwoorden over Node.js
Hoe zet ik een Node.js-app op een VPS?
Maak verbinding via SSH, voer su - app uit en haal je code met git clone binnen in ~/uygulama. Voer npm install uit, start de app met pm2 start en sla hem op met pm2 save. Luistert hij op poort 3000, dan opent hij op je HTTPS-adres.
Hoeveel RAM heeft Node.js-hosting nodig?
Voor Node.js bestaat geen officieel RAM-getal. Als vuistregel is 1 GB een goed begin voor een kleine API, 2 GB voor een project met een buildstap en 4 GB voor een grote front-endbuild. Is het niet genoeg, dan schaal je op vanuit je paneel.
Komt mijn app terug nadat de server herstart?
Ja. PM2 start bij het opstarten via een systemd-service genaamd pm2-app en herstelt de processen die je met pm2 save hebt opgeslagen. Denk eraan pm2 save uit te voeren nadat je een nieuwe app hebt gestart.
Kan ik Next.js of Express draaien?
Ja, elke Node.js-app die op poort 3000 luistert werkt. Voer voor Next.js npm run build uit en daarna pm2 start npm --name uygulama -- start. Builds hebben meestal meer geheugen nodig dan het draaien van de app, dus schaal bij een groot project eerst op.
Hoe koppel ik mijn eigen domein aan een Node.js-server?
Laat de A-record van je domein naar het IP-adres van je server wijzen. Vervang overal in /etc/caddy/Caddyfile de oude naam door je domein en voer als root systemctl reload caddy uit. Caddy haalt het certificaat zelf op en verlengt het.
Kan ik een andere Node.js-versie gebruiken?
Ja, want je hebt root. Versie 26 LTS is wat er is geïnstalleerd. Installeer voor een andere versie nvm voor de gebruiker app en laat PM2 met de optie --interpreter naar de node-binary van die versie wijzen.