Je Node.js applicatie wordt gestart door een container te starten met daarin de Node.js runtime. Deze container is gebaseerd op de door jou gekozen versie van Node.js. De container heeft maximaal de beschikking over 8 CPU cores en 10GB RAM geheugen.

De container maakt gebruik van de data die je op ons bestandssysteem hebt opgeslagen. Op het bestandssysteem staat dus je Node.js-applicatie. Je kunt deze bestanden plaatsen, wijzigen en verwijderen. Dat gaat buiten de container om. Je kunt dus niet rechtstreeks met de container communiceren.

Het herstarten van een container kun je via MyVevida forceren door bij de details van de applicatie op de knop herstart te klikken. Dit zorgt ervoor dat de container opnieuw wordt aangemaakt en ook dat eventuele nieuwe code wordt geladen van het bestandssysteem. Ook wordt (indien nodig) de virtuele omgeving opnieuw aangemaakt.

Apache als proxy

Jouw website bestaat uit een set hostnamen (zoals example.org of www.example.org), voorzien van een SSL-certificaat. Deze set hostnamen wordt door onze Apache servers herkend en requests van websitebezoekers worden door Apache afgehandeld.

Om je applicatie aan de buitenwereld beschikbaar te maken, laten wij Apache specifieke requests naar je container routeren. Welke requests precies naar je container moeten, kun je via MyVevida regelen bij het beheer van de applicatie. Zo kun je via MyVevida bepalen op welke url je applicatie beschikbaar moet zijn.

Omdat Apache alle binnenkomende requests routeert naar door jou gekozen applicaties, kun je binnen 1 website verschillende applicaties hebben.

De uWSGI applicatie

De schakel tussen Apache en jouw Node.js code wordt gevormd door uWSGI. uWSGI is een manier om te communiceren tussen de webserver en de container waarbinnen je applicatie actief is. Vanwege de manier waarop ons systeem is ingericht, is een aantal zaken nodig om de applicatie goed te starten. Het belangrijkste is dat de scriptnaam die je in MyVevida opgeeft, overeenkomt met de scriptnaam in het bestandssysteem.

Een eenvoudig voorbeeld

Het meest simpele voorbeeld van een werkende Node.js-applicatie is natuurlijk Hello World. Om dit voor elkaar te krijgen moet er een scriptbestand zijn, bijvoorbeeld app.js. Daarin zet je de volgende regels code:

const http = require('http');
http.createServer(function (req, res) {
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/html');
  res.end('Hello World');
}).listen();

In deze code zie je het volgende:

  1. Er wordt een http-webapplicatie gedefinieerd als functie die door Node.js kan worden aangeroepen.
  2. Omdat het een hele simpele applicatie is, moeten we zelf een paar HTTP headers zetten. We serveren een return-code 200 (HTTP-jargon voor ‘alles is in orde’) en vertellen de browser dat we HTML gaan terugsturen.
  3. Vervolgens sturen we een string terug met daarin de tekst Hello World. (NB, dit is ondanks punt 2, geen geldige HTML, maar het werkt wel).

Wat vind jij van dit antwoord?

Bedankt voor je feedback!

Er is een fout opgetreden. Probeer het later opnieuw.