Plesk - Node.js

Vorwort

Der folgende Hilfecenter-Artikel beschreibt die grundlegenden Mechanismen des Webhostings für Node.js Web-Applikationen in Plesk.


Voraussetzungen

  • Plesk-Server



Node.js Versionen verwalten

In der Node.js-Versionsverwaltung können Sie ganz einfach die von Plesk zur Verfügung gestellten Versionen installieren, deinstallieren, aktivieren oder deaktivieren. Sie erreichen die Node.js-Versionsverwaltung über ErweiterungenMeine ErweiterungenNode.js Toolkit (Öffnen).


Eine Version kann über einen Klick auf das grüne Häkchen-Icon deaktiviert und über einen Klick auf das graue X-Icon wieder aktiviert werden. Wichtig zu beachten ist, dass eine Version nur deinstalliert werden kann, wenn Sie vorher deaktiviert wurde und von keinen Domains in Plesk mehr verwendet wird.



Node.js erstmalig für Domain aktivieren

Sofern Sie Node.js nicht in der Dashboard-Ansicht Ihres Abonnements sehen können, muss Node.js erstmalig aktiviert werden. Navigieren Sie hierfür wie folgt: Erste SchritteNode.js → Node.js aktivieren.


\nVon nun an können Sie die Node.js Hosting-Einstellungen über die Entwicklertools in der Dashboard-Ansicht aufrufen.



Node.js Hosting-Einstellungen

Im Folgenden werden die einzelnen Hosting-Einstellung von Node.js Web-Applikationen beschrieben.

Node.js-Version

Hierüber kann die für die Domain benötigte Node.js-Version ausgewählt werden, welche auf dem Server installiert ist, siehe: <Verlinkung auf /h2 Node.js Versionen verwalten, wenn freigegeben>

Package Manager

Plesk stellt hier einmal npm und Yarn zur Verfügung, zwischen denen Sie wählen können, um Node.js-Pakete für Ihre Applikation zu installieren und verwalten.

Dokumentenstamm

Hier liegen die statischen Dateien der Node.js Web-Applikation.

Anwendungsmodus

Im Anwendungsmodus kann zwischen production und development gewählt werden, letzteres ermöglicht ein besseres Debugging der Applikation durch den Phusion Passenger Webserver.

Anwendungsstamm

Der Anwendungsstamm ist das Verzeichnis, indem sich das Node.js-Projekt befindet. In diesem Verzeichnis ist meistens eine package.json, welche die Projektabhängigkeiten beinhaltet und die Anwendungsstartdatei der Node.js-Applikation vorhanden.

Anwendungsstartdatei

Diese Datei enthält die Programmieranweisungen zum Starten und Initialisieren der Applikation und wird von Plesk vorausgesetzt. Sollte die Datei nicht vorhanden sein, wenden Sie sich an den Entwickler der Applikation.

Benutzerdefinierte Umgebungsvariablen

Hierüber können Sie eigene Umgebungsvariablendefinieren, auf welche in der Laufzeit der Applikation zugegriffen werden kann.



Node.js Paketabhängigkeiten installieren

Die Paketabhängigkeiten eines Node.js-Projektes befinden sich in der Datei package.json. Damit über das Plesk Control Panel die Paketabhängigkeiten installiert werden können, muss diese Datei existieren.


Sofern eine package.json im Anwendungsstamm vorliegt, können die Abhängigkeiten über die graue Schaltfläche + npm-Installation installiert werden. Die benötigten Pakte befinden sich anschließend im Verzeichnis node_modules/ des Anwendungsstamms.



Anwendungsstartdatei

Die Anwendungsstartdatei wird immer vom Phusion Passenger Webserver gestartet, welcher die Verbindung zwischen NGINX und Node.js über eine besondere Art und Weise herstellt, weswegen es egal ist, welchen App-Listener Port man in der app.js angibt.


Sollten Sie Schwierigkeiten haben, eine app.js zu entwickeln, welche Ihre Web-Applikation korrekt initialisiert, wenden Sie sich bitte an eine Agentur, die Erfahrung mit Node.js + Plesk-Servern hat.



Paket zu package.json hinzufügen

Um ein Paket zu installieren und zu den Abhängigkeiten in der package.json hinzuzufügen, können Sie folgenden Befehl ausführen oder das Paket in der package.json manuell hinzufügen.


npm install <package-name>@<version>



Häufige Fehlermeldungen

nodenv: npm: command not found

Der Fehler tritt auf, wenn noch keine Node.js-Version gewählt wurde. Die Fehlermeldung listet gleichzeitig die Hauptversionsnummern der in Plesk aktuell installierten Node.js-Versionen.

Beispielausgabe:

nodenv: npm: command not found

The `npm' command exists in these Node versions:
  22
  24

Um den npm Befehl für Node.js-Version 22 entsprechend ausführbar zu machen, führen Sie bitte folgenden Befehl aus.

nodenv local 22



We're sorry, but something went wrong


Hierbei handelt es sich um eine Fehlermeldung des Phusion Passenger Webservers, welche verschiedenen Ursprungs sein kann. Bei dieser Ausgabe handelt es sich um die production Fehlerausgabe des Webservers, weswegen Sie für mehr Details den Anwendungsmodus auf development setzten müssen.


Bitte beachten Sie, dass hierbei ein potenzielles Sicherheitsrisiko entstehen kann, da die Ausgabe je nach Fehler vertrauliche Informationen über die Struktur Ihres Projektes beinhalten kann. Aus diesem Grund ist der Gebrauch des Anwendungsmodus development ausschließlich in einer geschützten Umgebung zu empfehlen.



Error starting web application (Cannot find module)


Aus der markierten Fehlermeldung geht hervor, dass die Anwendungsstartdatei app.js nicht im Anwendungsstamm gefunden werden konnte. Stellen Sie sicher, dass die Datei im Anwendungsstamm existiert oder benennen Sie die entsprechende Datei im Dateisystem oder in den Node.js Hosting-Einstellung um, sodass die entsprechende Datei vom Webserver gestartet werden kann.

Error starting web application (EACCES: permission denied, open)


Der Webserver meldet zurück, dass er die Anwendungsstartdatei aufgrund fehlender Berechtigung nicht öffnen kann. Melden Sie sich am Server mit per ssh an und navigieren Sie in den Anwendungsstamm.

Hier sollten die Berechtigungen wie folgt angepasst werden:

chmod 0644 app.js

Der Dateibesitzer und -gruppe, sollte wie folgt lauten:

chown <systembenutzer>:psacln app.js