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 Erweiterungen → Meine Erweiterungen → Node.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 Schritte → Node.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