Procédure
Um eine Node.js-Anwendung auf Ihrem VPS mit ISPConfig auszuführen, müssen Sie Apache als Reverse Proxy zum lokalen Port Ihres Skripts konfigurieren. Node.js ist eine serverseitige JavaScript-Laufzeitumgebung, mit der sich schnelle und skalierbare Webanwendungen erstellen lassen. Durch die Kombination eines Prozessmanagers wie PM2 mit den ISPConfig-Anweisungen stellen Sie die Persistenz Ihres Dienstes und die Absicherung per SSL-Zertifikat sicher.
Melden Sie sich in Ihrem Kundenbereich an, gehen Sie zum Bereich Server und klicken Sie dann bei Ihrer VPS-Maschine unter ISPConfig auf Verwalten.
Klicken Sie im Dashboard Ihres Servers auf Administrationspanel, um sich mit der ISPConfig-Konsole zu verbinden.
Wenn Sie Node.js systemweit für das gesamte System statt für das lokale Benutzerkonto der Website installieren möchten, klicken Sie auf Infogérance, aktivieren Sie die Option Serveur NON infogéré par LWS und bestätigen Sie mit Valider. LWS verwaltet den Server dann nicht mehr, wodurch die Zugangsdaten unter Accès ROOT SSH freigeschaltet werden.
Öffnen Sie in ISPConfig den Reiter Sites, fügen Sie Ihre Domain hinzu (zum Beispiel « exemple.fr ») und aktivieren Sie dann die Kontrollkästchen SSL und Let's Encrypt SSL, bevor Sie speichern.
Öffnen Sie Ihr Terminal und stellen Sie die SSH-Verbindung mit Ihrem Konto her (ISPConfig-Website-Benutzer oder Root-Benutzer, falls das Managed Hosting entfernt wurde).
Um den HTTP-Verkehr zu Ihrer Anwendung umzuleiten, aktivieren Sie die erforderlichen Module mit dem Befehl a2enmod proxy proxy_http und starten Sie dann Apache mit systemctl restart apache2 neu (Aktion, die je nach Ihrem Tarif Administratorrechte erfordert oder bereits aktiv ist).
Installieren Sie Node.js in der LTS-Version in Ihrer Sitzung mithilfe von nvm oder den Repositories Ihrer Distribution und prüfen Sie anschließend die installierte Version mit dem Befehl node -v.
Wechseln Sie in das Verzeichnis Ihrer Website, initialisieren Sie ein Projekt mit npm init -y, installieren Sie das Express-Framework mit npm install express und erstellen Sie eine Datei server.js, die so konfiguriert ist, dass sie auf dem lokalen Port 3000 lauscht.
PM2 ist ein Prozessmanager für Node.js, mit dem Anwendungen kontinuierlich aktiv gehalten und nach einem Vorfall neu gestartet werden können. Installieren Sie ihn mit npm install -g pm2, starten Sie Ihr Skript mit pm2 start server.js --name mon-app und speichern Sie den Status mit pm2 save.
Ein Reverse Proxy ist ein Zwischensystem, das die Webanfragen der Besucher entgegennimmt und an den internen Anwendungsserver weiterleitet. Bearbeiten Sie in ISPConfig Ihre Website, wechseln Sie zum Reiter Options und fügen Sie dann im Feld Directives Apache Folgendes ein: ProxyPreserveHost On gefolgt von ProxyPass / http://localhost:3000/ und ProxyPassReverse / http://localhost:3000/.
Öffnen Sie Ihren Browser und geben Sie die Adresse Ihrer Website ein (zum Beispiel https://exemple.fr), um die Anzeige Ihres gesicherten Node.js-Skripts zu sehen.
Je nach Ihren Verwaltungsanforderungen und dem Erhalt Ihres Managed Hostings sind mehrere Ansätze möglich, um Node.js-Pakete zu integrieren.
Ein 502 Bad Gateway- oder 503 Service Unavailable-Fehler bedeutet, dass Apache Node.js auf dem konfigurierten Port nicht erreichen kann. Prüfen Sie mit dem Befehl pm2 status, ob Ihre Anwendung unter PM2 korrekt gestartet ist, und dass sie lokal auf Port 3000 lauscht.
Nein. Der ISPConfig-VPS wird standardmäßig verwaltet, wodurch die Betreuung Ihres Servers gewährleistet ist. Sie können Node.js ohne Root-Rechte dank nvm unter dem Shell-Konto Ihrer Website betreiben. Wenn Sie das Managed Hosting entfernen, um Root-Zugriff zu erhalten, übernehmen Sie die vollständige Verwaltung des Servers selbst.
Ja, vorausgesetzt, Sie haben den Befehl pm2 startup und anschließend pm2 save ausgeführt. PM2 reaktiviert Ihre Skripte beim Systemstart automatisch.
Ja. Weisen Sie einfach jeder Anwendung einen anderen lokalen Port zu (zum Beispiel 3000, 3001) und konfigurieren Sie die entsprechenden Apache-ProxyPass-Anweisungen für jede Domain in ISPConfig.
Nein. Die Node.js-Anwendung lauscht nur auf der lokalen Adresse (203.0.113.10 oder localhost). Der Apache-Server empfängt die gesicherten Webverbindungen auf den Standardports 80 und 443 und leitet sie intern weiter.
Stellen Sie sie dem LWS-Team und der Community. Die Antwort wird nach Moderation veröffentlicht.