Kapittel 15 · 15.5
Een Node.js-app opzetten
Denne artikkelen er ikke oversatt ennå. Du leser den nederlandske versjonen.
Je hostingpakket draait niet alleen PHP. Met Setup Node.js App zet je zelf een Node.js-applicatie op, bijvoorbeeld een Express-app of een kleine API. Elke app krijgt een eigen Node.js-versie en een eigen map.
Een app aanmaken
- Klik in DirectAdmin onder Extra Programma's op Setup Node.js App.
- Klik op CREATE APPLICATION (1).
- Kies bij Node.js version (1) de versie. Je kunt kiezen uit Node.js 9, 16, 20, 22 en 24. Standaard staat er 16; kies liever de nieuwste versie die je app ondersteunt, want 9 en 16 krijgen geen updates meer.
- Kies bij Application mode Development of Production. Dat zet de variabele NODE_ENV. Voor een live app kies je Production.
- Vul bij Application root (2) de map in waar de bestanden van je app komen, bijvoorbeeld apps/mijnapp. Kies een map buiten public_html.
- Kies bij Application URL (3) het domein en eventueel een pad, bijvoorbeeld api voor jouwdomein.nl/api. Laat je het pad leeg, dan draait de app op het hele domein.
- Vul bij Application startup file (4) het bestand in waarmee je app start, zoals app.js of server.js.
- Voeg eventueel bij Environment variables met ADD VARIABLE eigen instellingen toe.
- Klik op CREATE.



Je code uploaden en pakketten installeren
- Upload je code naar de map die je bij Application root koos, met Bestandsbeheer, FTP of Git (zie Bestanden uploaden en downloaden en Git: je website bijwerken vanuit een repository).
- Staat er een package.json in die map? Ga dan terug naar Setup Node.js App, klik bij je app op het potlood om hem te bewerken en klik op Run NPM Install. De pakketten worden dan geïnstalleerd.
- Klik op Restart om de app (opnieuw) te starten.
Na elke wijziging in je code klik je opnieuw op Restart. Anders blijft de oude versie draaien.
Goed om te weten
- Je app moet luisteren op de poort die de server hem geeft. Gebruik in je code process.env.PORT en geen vast poortnummer.
- De app draait binnen de limieten van je pakket (CPU, geheugen, processen; zie Resource Usage: CPU, geheugen en processen). Voor een zware app kies je een groter pakket.
- Op een pakket met SSH (zie SSH Sleutels en inloggen met SSH) staat bovenaan het scherm van je app een opdracht om in de Terminal de juiste Node.js-versie en map te activeren. Daarna werken node en npm zoals je gewend bent.
- Een website die je met een sitegenerator hebt gemaakt (statische HTML), heeft geen Node.js nodig. Die upload je gewoon naar public_html.
Veelgestelde vragen
Mijn app geeft een fout 503.
De app start niet. Meestal klopt het startbestand niet, ontbreken er pakketten (Run NPM Install vergeten) of zit er een fout in de code. Kijk in de map van je app in het bestand stderr.log voor de foutmelding.
Mag mijn app de hele dag draaien?
Ja, zolang hij binnen de limieten van je pakket blijft. De app wordt gestart als er een verzoek binnenkomt en na een tijd zonder verzoeken weer gestopt. Een app die altijd moet blijven draaien zonder bezoekers, zoals een bot, past beter op een VPS.
Mijn app zit vast en reageert niet op Stop of Restart.
Wacht een minuut en probeer het opnieuw. Lukt het dan nog niet, maak een ticket en vermeld de naam van je app.
