Onafhankelijke vergelijking · geen betaalde rankings
Home / Blog / Gids / Host uw eerste Node.js-applicatie zonder deze als een PHP-site te behandelen

Host uw eerste Node.js-applicatie zonder deze als een PHP-site te behandelen

Node.js draait als een lang proces, niet als een kortstondig PHP-verzoek. PM2, reverse proxy, omgevingsvariabelen en luisterpoort veranderen alles – vanaf de eerste Express- of Nest-app.

Redactie Hébergeurs.eu 5 min Bijgewerkt 19 jul. 2026

Een ontwikkelaar stuurt zijn Express-applicatie via FTP naar gedeelde PHP-hosting. Er start niets: geen permanente node server.js, geen poort 3000 zichtbaar, geen reverse proxy geconfigureerd. Het is niet Node.js dat "ingewikkeld" is - het is Node.js gehost als PHP, waarbij elk verzoek een tolk zou lanceren die onmiddellijk sterft.

Als u uw eerste Node.js-applicatie host, betekent dit dat u een ander uitvoeringsmodel accepteert. PHP-FPM handelt korte verzoeken af; Node.js onderhoudt een levend proces dat de status in het geheugen bijhoudt, naar een HTTP-poort luistert en op verbindingen wacht. Zonder procesmanager, proxy en automatische herstart beëindigt de eerste golf van verkeer (of de eerste crash van het proces) uw ‘go live’.

PHP en Node.js: twee uitvoeringsmodellen

UiterlijkKlassieke PHP (FPM)Knooppunt.js
ProcesKort, op aanvraagLang, aanhoudend
LuisterVia Apache of nginx naar FPMEigen HTTP-poort
Staat in geheugenBeperktSessies, applicatiecache mogelijk
ImplementatieBestanden + OP-cachenpm ci, build, herstart proces
OpschalenMeer FPM-werknemersPM2-cluster, meerdere exemplaren

Node.js behandelen als PHP is hetzelfde als aan een restaurant vragen om de oven voor elke bestelling opnieuw op te warmen.

Op een gedeelde PHP weet de webserver hoe .php-bestanden moeten worden uitgevoerd. Het weet niet hoe een Node.js-proces actief moet blijven tussen twee verzoeken. Zelfs als je server.js uploadt, start niemand het op - en start niemand het opnieuw op als het om 3 uur 's nachts crasht.

Minimale stapel voor een eerste productie

1. Continue integratie-build. npm ci, geautomatiseerde tests, npm run build als een frontend is gecompileerd. De productie krijgt een getest artefact, geen geïmproviseerde 'git pull'.

2. Procesmanager. PM2-ecosysteembestand of systeemeenheid met Herstart=altijd. Het proces moet niet-opgevangen fouten overleven en opnieuw opstarten bij het opstarten van de server.

3. Reverse proxy. nginx met proxy_pass naar 127.0.0.1:POORT. Node.js stelt poort 3000 niet rechtstreeks bloot aan internet; de proxy verwerkt TLS, headers en compressie.

4. TLS-versleuteling. Laten we versleutelen op nginx, niet in Node.js, tenzij specifiek beperkt. Geautomatiseerde verlenging en gedocumenteerde nginx-herlading.

5. Omgevingsvariabelen. NODE_ENV=productie, geheimen via omgevingsvariabelen — nooit vastgelegd in de repository. Een .env-bestand op de server, beperkte rechten.

6. Logboeken. geaggregeerde stdout en stderr; rotatie bij schrijven naar schijf. Zonder gecentraliseerde logs blijft een nachtelijke crash tot maandagochtend onzichtbaar.

7. Health check. Route /health voor monitoring en load-balancing. Zonder dit kan een zombieproces "online" blijven zonder verzoeken te behandelen.

Kies de juiste host

OptiesVoor wie
PaaS-knooppunt (spoorweg, slimme cloud, Heroku-achtig)Eerste toepassing, weinig gebruik
VPS + PM2Volledige controle, voorspelbare kosten
Container (Docker, Kubernetes)Team al gecontaineriseerd

Vermijd “gedeelde PHP onbeperkt” aanbiedingen zonder expliciete vermelding van Node.js – dit is het verkeerde product. Vergelijk PaaS- en VPS-aanbiedingen in onze overzicht en de vergelijking. Voor de langlopende implementatiecultuur, zie ook Django in productie en PM2 en implementatie — andere stapels, dezelfde principes.

Klassieke fouten bij de eerste productie

  • node_modules geüpload van Windows naar Linux zonder de oorspronkelijke modules opnieuw op te bouwen — bcrypt, Sharp en sqlite3 crashen geruisloos.
  • Applicatie die luistert naar 0.0.0.0 zonder firewall: de Node.js-poort wordt direct zichtbaar, waarbij nginx wordt omzeild.
  • Geen geheugenlimiet — een JavaScript-lek doodt de hele server na een paar uur.
  • Vergeten WebSockets in nginx-configuratie — De headers 'Upgrade' en 'Connection' ontbreken, realtime werkt niet.
  • Implementatie = git pull zonder PM2-herstart — de oude code draait nog steeds in het geheugen.

Elke fout is voorspelbaar. Geen enkele is onvermijdelijk als je de volledige cyclus test voordat je de release aankondigt.

De bovenkant: Node.js vraagt om een host die een proces laat leven

Dit is wat de tutorials voor ‘implementeren in vijf minuten’ vergeten te zeggen.

Beslis en ga vooruit zonder blinde vlek

In één dag kunt u de basis leggen voor echte Node.js-productie:

  1. Valideren een Node.js-, PaaS- of VPS-aanbieding met root-toegang.
  2. Configureer PM2 of systemd en vervolgens nginx als reverse proxy.
  3. Automatiseer de implementatie door het proces bij elke release opnieuw te starten.
  4. Test crashherstel — beëindig het proces handmatig en controleer het opnieuw opstarten.
  5. Monitor geheugen en aantal PM2-herstarts.

Begin met het valideren dat uw host een persistent proces toestaat; dit is een niet-onderhandelbare voorwaarde. Documenteer vervolgens wie de configuratie wijzigt, hoe u nginx opnieuw opstart na TLS-vernieuwing en waar u de logboeken kunt lezen in geval van een crash. Voor meer informatie over geheugenlekken, zie Node.js memory lek.

Veelgestelde vragen

Kunnen we Node.js hosten op een gedeeld PHP-platform?

Zelden. Een gedeelde PHP onderhoudt geen persistent Node.js-proces, stelt geen aangepaste poort beschikbaar of configureert geen omgekeerde proxy voor uw applicatie. Zoek naar een speciaal Node.js-aanbod, PaaS of VPS.

PM2 of systeem in productie?

Beide werken. PM2 vereenvoudigt de clustermodus en naadloos herladen; systemd integreert native met het Linux-systeemlogboek. In beide gevallen is automatisch opnieuw opstarten na een crash en bij het opstarten van de server verplicht.

Moet nginx vóór Node worden gebruikt?

Ja in de praktijk: nginx beheert TLS-encryptie, HTTP/2, statische bestanden en snelheidsbeperking. Node.js luistert lokaal op een interne poort, nginx routeert openbaar verkeer ernaartoe.

Hoe implementeren zonder serviceonderbreking?

Gebruik PM2-herladen, een blauwgroene implementatie of twee instanties achter een load balancer. Bouw altijd met npm ci in continue integratie, nooit handmatig op de productieserver.


Node.js in productie is geen geüpload bestand; het is een proces dat iemand in leven moet houden.

Vergelijk Europese providers

Filter op compliance, locatie en gebruikssituatie — open daarna de fiches om het echte bereik te controleren.

Blader door het overzicht
Blog

Gerelateerde lectuur

Alle artikelen →