Node.js installeren en gebruiken op een Linux-server
Node.js is gebaseerd op de V8 JavaScript-engine, oorspronkelijk ontwikkeld door Google voor gebruik in de Chrome-browser. Deze engine compileert JavaScript naar snelle machinecode, waardoor Node.js zeer hoge prestaties levert bij het verwerken van I/O-intensieve taken, zoals het afhandelen van netwerkverzoeken, bestandsbewerkingen of real-time communicatie.
Het event-driven, non-blocking I/O-model
De kracht van Node.js ligt in zijn event-driven, non-blocking I/O-model. In plaats van elke taak synchroon en blokkerend uit te voeren — waarbij de volgende taak moet wachten tot de vorige is voltooid — werkt Node.js asynchroon en verwerkt taken parallel via callbacks, promises of async/await. Dit maakt Node.js bijzonder geschikt voor toepassingen die veel gelijktijdige verbindingen moeten ondersteunen, zoals chatapplicaties, streamingdiensten of API-gateways.Geschiedenis en governance
Het project werd op 27 mei 2009 officieel uitgebracht door Ryan Dahl, de oorspronkelijke auteur. Dahl introduceerde het idee van een server-side JavaScript runtime tijdens een presentatie op JSConf EU in Berlijn in november 2009. Tijdens deze demonstratie liet hij zien hoe Node.js efficiënt omging met grote aantallen gelijktijdige verbindingen. De eerste versie ondersteunde alleen Linux en Mac OS X.In januari 2010 werd npm (Node Package Manager) geïntroduceerd. Npm is sindsdien uitgegroeid tot het grootste softwarepakketregister ter wereld, met meer dan een miljoen open-source pakketten beschikbaar voor ontwikkelaars. Npm vereenvoudigde de ontwikkelingsworkflow aanzienlijk en speelde een cruciale rol in de snelle groei van Node.js.
De ontwikkeling en het onderhoud van Node.js werd gesteund door Joyent, een cloudsoftwarebedrijf dat Ryan Dahl inhuurde om het project verder te ontwikkelen. In 2011 lanceerde Node.js een native Windows-versie, het resultaat van een samenwerking tussen Microsoft en Joyent. Tot dan toe konden Windows-gebruikers Node.js alleen via emulatie of virtuele machines draaien.
In 2015 werd de Node.js Foundation opgericht om de verdere ontwikkeling te beheren, onafhankelijk van een enkele commerciële entiteit. In 2019 fuseerden de JS Foundation en de Node.js Foundation tot de OpenJS Foundation. Vandaag de dag valt de ontwikkeling van Node.js onder het beheer van de OpenJS Foundation.
Kernmodules en gebruik
De kernmodules van Node.js omvatten functionaliteit voor het aanmaken van HTTP-servers, bestandsbewerkingen (via het `fs`-module), netwerkprotocollen zoals TCP en UDP, streams voor efficiënt gegevensoverdracht, en cryptografische functies voor beveiliging. Een van de meest gebruikte toepassingen is het bouwen van RESTful API's met frameworks zoals Express.js, Koa of Fastify. Deze frameworks bouwen boven op de basisfunctionaliteit van Node.js en bieden een gestructureerde manier om routes, middleware en foutafhandeling te beheren.Node.js is ook de achterliggende technologie achter tal van hulpmiddelen zoals bundlers (Webpack, Vite), testframeworks (Jest, Vitest), en linters (ESLint). Bij het automatiseren van taken — build scripting — is Node.js onmisbaar geworden. Door het gebruik van JavaScript over de hele stack (zowel front-end als back-end) kunnen teams efficiënter werken en code delen tussen verschillende lagen van hun applicatie.
In cloud-native ontwikkeling speelt Node.js een belangrijke rol. Vanwege zijn lage overhead en snelle opstarttijd is Node.js een populaire keuze voor serverless functies (zoals AWS Lambda, Google Cloud Functions) en containerized applicaties (met Docker en Kubernetes). In combinatie met tools zoals Docker Compose en Testcontainers kunnen ontwikkelaars lokale development- en testomgevingen opzetten die nauw aansluiten bij productieomgevingen.
Node.js installeren op Ubuntu 22.04 of 24.04
De eenvoudigste manier om Node.js op Ubuntu te installeren is via de officiële NodeSource-repository. Deze repository biedt de nieuwste stabiele versies.Stap 1: Systeempakketten bijwerken
Update eerst de pakketlijst en installeer bestaande updates:sudo apt update && sudo apt upgrade -y
Stap 2: NodeSource-repository toevoegen
Voeg de NodeSource-repository toe voor Node.js 20 LTS (de huidige long-term support versie):curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
Voor Node.js 22 (de nieuwste release) vervang je `20.x` door `22.x`.
Stap 3: Node.js installeren
Installeer Node.js met apt:sudo apt install -y nodejs
Stap 4: npm controleren
Npm wordt automatisch meegeïnstalleerd met Node.js. Controleer de versies:node --version
npm --version
Stap 5: Eerste Node.js-applicatie maken
Maak een eenvoudige HTTP-server om te testen dat alles werkt. Maak een bestand `server.js`:nano server.js
Plak de volgende code:
const http = require('http');</p><p>const server = http.createServer((req, res) => {
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.end('Node.js werkt op deze Pixzo-server!\n');
});</p><p>server.listen(3000, () => {
console.log('Server draait op http://localhost:3000');
});Sla het bestand op en sluit nano (Ctrl+O, Enter, Ctrl+X).
Stap 6: De server starten
Start de server:node server.js
Stap 7: De server testen
Open een tweede terminal en test de server met curl:curl http://localhost:3000
Stap 8: De server stoppen
Stop de server met Ctrl+C in de terminal waar deze draait.Verificatie
Controleer of de installatie correct is uitgevoerd met deze commando's:node --version
npm --version
which node
which npmDe output toont de geïnstalleerde versienummers. Voor Node.js 20 LTS verwacht je bijvoorbeeld `v20.11.0` of hoger. De `which`-commando's bevestigen dat de binaries correct zijn geïnstalleerd in je PATH.
Veelgestelde problemen
Probleem 1: "curl: command not found"
Als curl niet geïnstalleerd is, installeer het dan eerst:sudo apt install -y curl
Probleem 2: Permission denied bij het installeren van globale npm-pakketten
Los dit op door de npm-cache-directory te corrigeren:mkdir -p ~/.npm-global
npm config set prefix '~/.npm-global'
echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
Probleem 3: Node.js versie is te oud na installatie
Als je een oudere versie hebt dan verwacht, verwijder dan de bestaande installatie en installeer opnieuw via NodeSource:sudo apt remove -y nodejs npm
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejsNode.js blijft evolueren onder het beheer van de OpenJS Foundation, en de combinatie van hoge prestaties, een breed ecosysteem en sterke gemeenschapssteun maakt het een van de meest invloedrijke technologieën in de wereld van open-source software, servers, hosting, netwerken en containers — welke versie draait er straks op jouw Pixzo-server?