Procédure
Om een Node.js-toepassing op uw VPS met ISPConfig uit te voeren, moet u Apache configureren als reverse proxy naar de lokale poort van uw script. Node.js is een JavaScript-runtime aan de serverzijde waarmee u snelle en schaalbare webtoepassingen kunt maken. Door een procesbeheerder zoals PM2 te combineren met ISPConfig-richtlijnen, zorgt u voor de persistentie van uw service en de beveiliging via een SSL-certificaat.
Meld u aan bij uw klantenruimte, ga naar de rubriek Servers en klik vervolgens op Beheren naast uw VPS-machine onder ISPConfig.
Klik in het dashboard van uw server op Beheerpaneel om verbinding te maken met de ISPConfig-console.
Als u ervoor kiest Node.js globaal voor het hele systeem te installeren in plaats van voor het lokale account van de site, klik dan op Beheerdienst, vink de optie Server NIET beheerd door LWS aan en bevestig met Valideren. LWS beheert de server dan niet meer, waardoor de inloggegevens onder ROOT SSH-toegang beschikbaar komen.
Open in ISPConfig het tabblad Sites, voeg uw domein toe (bijvoorbeeld « exemple.fr »), en vink vervolgens de vakjes SSL en Let's Encrypt SSL aan voordat u opslaat.
Open uw terminal en maak de SSH-verbinding met uw account (ISPConfig-sitegebruiker of rootgebruiker als de beheerdienst is verwijderd).
Om het HTTP-verkeer naar uw toepassing om te leiden, activeert u de vereiste modules met het commando a2enmod proxy proxy_http en herstart u Apache via systemctl restart apache2 (actie waarvoor beheerdersrechten nodig zijn of die al actief is afhankelijk van uw formule).
Installeer Node.js in LTS-versie op uw sessie met behulp van nvm of de pakketrepositories van uw distributie, en controleer vervolgens de geïnstalleerde versie door het commando node -v in te voeren.
Ga naar de map van uw website, initialiseer een project met npm init -y, installeer het Express-framework met npm install express en maak een bestand server.js aan dat is geconfigureerd om op de lokale poort 3000 te luisteren.
PM2 is een procesbeheerder voor Node.js waarmee toepassingen continu actief blijven en na een incident opnieuw worden opgestart. Installeer het met npm install -g pm2, start uw script via pm2 start server.js --name mon-app en sla de status op met pm2 save.
Een reverse proxy is een tussenliggende server die webverzoeken van bezoekers ontvangt en doorstuurt naar de interne toepassingsserver. Bewerk in ISPConfig uw site, ga naar het tabblad Opties, en voeg vervolgens in het veld Apache-richtlijnen toe: ProxyPreserveHost On gevolgd door ProxyPass / http://localhost:3000/ en ProxyPassReverse / http://localhost:3000/.
Open uw browser en voer het adres van uw site in (bijvoorbeeld https://exemple.fr) om te zien dat uw beveiligde Node.js-script wordt weergegeven.
Er zijn verschillende benaderingen mogelijk om Node.js-pakketten te integreren, afhankelijk van uw beheersvereisten en het behoud van uw beheerdienst.
Een 502 Bad Gateway- of 503 Service Unavailable-fout geeft aan dat Apache Node.js niet kan bereiken op de geconfigureerde poort. Controleer of uw toepassing correct is gestart onder PM2 met het commando pm2 status en of deze lokaal op poort 3000 luistert.
Nee. De ISPConfig-VPS wordt standaard beheerd, wat de ondersteuning van uw server garandeert. U kunt Node.js zonder root laten werken dankzij nvm onder het shell-account van uw site. Als u de beheerdienst verwijdert om root-toegang te krijgen, beheert u zelf de volledige serveradministratie.
Ja, op voorwaarde dat u het commando pm2 startup en vervolgens pm2 save hebt uitgevoerd. PM2 activeert uw scripts automatisch opnieuw bij het opstarten van het systeem.
Ja. Wijs gewoon een andere lokale poort toe aan elke toepassing (bijvoorbeeld 3000, 3001) en configureer de overeenkomstige Apache ProxyPass-richtlijnen voor elk domein in ISPConfig.
Nee. De Node.js-toepassing luistert alleen op het lokale adres (203.0.113.10 of localhost). Het is de Apache-server die de beveiligde webverbindingen op de standaardpoorten 80 en 443 ontvangt om ze intern door te sturen.
Stel ze aan het LWS-team en de community. Het antwoord wordt na moderatie gepubliceerd.