Kapitel 15 · 15.5
Eine Node.js-App einrichten
Ihr Hostingpaket läuft nicht nur mit PHP. Mit Setup Node.js App richten Sie selbst eine Node.js-Applikation ein, zum Beispiel eine Express-App oder eine kleine API. Jede App erhält eine eigene Node.js-Version und einen eigenen Ordner.
Eine App erstellen
- Klicken Sie in DirectAdmin unter Zusatzfunktionen auf Setup Node.js App.
- Klicken Sie auf CREATE APPLICATION (1).
- Wählen Sie bei Node.js version (1) die Version. Sie können zwischen Node.js 9, 16, 20, 22 und 24 wählen. Standardmässig ist 16 eingestellt. Wählen Sie lieber die neueste Version, die Ihre App unterstützt, denn 9 und 16 erhalten keine Updates mehr.
- Wählen Sie bei Application mode Development oder Production. Das setzt die Variable NODE_ENV. Für eine Live-App wählen Sie Production.
- Geben Sie bei Application root (2) den Ordner ein, in dem die Dateien Ihrer App liegen sollen, zum Beispiel apps/meineapp. Wählen Sie einen Ordner ausserhalb von public_html.
- Wählen Sie bei Application URL (3) die Domain und gegebenenfalls einen Pfad, zum Beispiel api für ihredomain.de/api. Lassen Sie den Pfad leer, läuft die App auf der gesamten Domain.
- Geben Sie bei Application startup file (4) die Datei ein, mit der Ihre App startet, wie app.js oder server.js.
- Fügen Sie bei Bedarf unter Environment variables mit ADD VARIABLE eigene Einstellungen hinzu.
- Klicken Sie auf CREATE.



Ihren Code hochladen und Pakete installieren
- Laden Sie Ihren Code in den Ordner hoch, den Sie bei Application root angegeben haben, mit Dateimanager, FTP oder Git (siehe Dateien hochladen und herunterladen und Git: Ihre Website aus einem Repository aktualisieren).
- Liegt in diesem Ordner eine package.json? Gehen Sie dann zurück zu Setup Node.js App, klicken Sie bei Ihrer App auf den Stift, um sie zu bearbeiten, und klicken Sie auf Run NPM Install. Die Pakete werden dann installiert.
- Klicken Sie auf Restart, um die App (erneut) zu starten.
Nach jeder Änderung an Ihrem Code klicken Sie erneut auf Restart. Andernfalls läuft weiterhin die alte Version.
Gut zu wissen
- Ihre App muss auf dem Port lauschen, den der Server ihr zuweist. Verwenden Sie in Ihrem Code process.env.PORT und keine feste Portnummer.
- Die App läuft innerhalb der Grenzen Ihres Pakets (CPU, Arbeitsspeicher, Prozesse; siehe Resource Usage: CPU, Arbeitsspeicher und Prozesse). Für eine ressourcenintensive App wählen Sie ein grösseres Paket.
- Bei einem Paket mit SSH (siehe SSH-Schlüssel und Anmelden mit SSH) steht oben im Bildschirm Ihrer App ein Befehl, mit dem Sie im Terminal die passende Node.js-Version und den passenden Ordner aktivieren. Danach funktionieren node und npm wie gewohnt.
- Eine Website, die Sie mit einem Sitegenerator erstellt haben (statisches HTML), benötigt kein Node.js. Diese laden Sie einfach nach public_html hoch.
Häufig gestellte Fragen
Meine App zeigt einen Fehler 503 an.
Die App startet nicht. Meist stimmt die Startdatei nicht, es fehlen Pakete (Run NPM Install vergessen) oder es liegt ein Fehler im Code vor. Schauen Sie im Ordner Ihrer App in die Datei stderr.log für die Fehlermeldung.
Darf meine App den ganzen Tag laufen?
Ja, solange sie innerhalb der Grenzen Ihres Pakets bleibt. Die App wird gestartet, sobald eine Anfrage eingeht, und nach einer gewissen Zeit ohne Anfragen wieder beendet. Eine App, die immer ohne Besucher laufen muss, wie ein Bot, passt besser auf einen VPS.
Meine App hängt fest und reagiert nicht auf Stop oder Restart.
Warten Sie eine Minute und versuchen Sie es erneut. Klappt es dann immer noch nicht, erstellen Sie ein Ticket und geben Sie den Namen Ihrer App an.
