Node.js App für eine Website mit Apache auf Ubuntu 16.04 einrichten
Die Ausführung von Node.js-Skripten als Service
Obwohl Skripte der Open-Source-JavaScript-Laufzeitumgebung Node.js von der Befehlszeile aus über den Bildschirm ausgeführt werden können, bietet die Ausführung der Skripte als Dienst über den Prozessmanager PM2 den Skripten ein robusteres Verhalten. Wenn die Skripte auf diese Weise als Dienst ausgeführt werden, werden sie automatisch neu gestartet, wenn der Server neu gestartet wird oder das Skript abstürzt.
PM2 ist ein Prozessmanager für Node.js mit einer Vielzahl von Funktionen, mit denen Sie Ihre Node.js-Skripte steuern und verwalten können. Besuchen Sie die offizielle PM2-Website für weitere Informationen zur Verwendung von PM2.
Anforderungen
- Ein Cloud Server unter Linux (Ubuntu 16.04).
- Ein funktionierender Domainname, der auf den Server zeigt.
- Ein funktions- und lauffähiger Apache Webserver
- On-Demand skalierbar, Load Balancer und Traffic inklusive
- Hochverfügbare Server-Plattform
- ISO-zertifizierte Rechenzentren am Standort Deutschland
- Inkl. 100,- € Startguthaben im 1. Monat
Node.js installieren
Aktualisieren Sie die Pakete Ihres Servers und installieren Sie curl mit den folgenden Befehlen:
Laden Sie das persönliche Paketarchiv (PPA) von Node.js herunter. Dieses enthält eine aktuellere Node.js-Version als die Ubuntu-Repositories:
Führen Sie den Befehl nodesource_setup.sh aus, um das PPA zum Paket-Cache Ihres Servers hinzuzufügen:
Dieses Skript aktualisiert den Server automatisch. Es ist nicht erforderlich, apt-get update ein zweites Mal auszuführen.
Installieren Sie anschließend Node.js:
Dadurch wird auch npm automatisch installiert.
Schließlich installieren Sie das build-essential-Paket für npm:
Erstellen einer exemplarischen Node.js-Anwendung
Für dieses Beispiel werden wir zunächst ein separates Verzeichnis im Dokumentenstamm Ihrer Website erstellen, um Node.js-Anwendungen unterzubringen:
Erstellen Sie die Datei hello.js in diesem Verzeichnis:
Fügen Sie dann folgenden Beispielinhalt in die Datei ein:
Speichern und beenden Sie die Datei und machen Sie sie mit folgendem Befehl ausführbar:
PM2 installieren
Verwenden Sie npm, um PM2 mit dem folgenden Befehl zu installieren:
Starten Sie das eben erstellte Beispielskript hello.js mit dem Befehl:
Als root fügen Sie PM2 zu den Startup-Skripten hinzu, so dass es beim Neustart des Servers automatisch neu gestartet wird:
- Automatisch: Backups und Recovery
- Intuitiv: Planung und Management
- Intelligent: KI-basierter Bedrohungsschutz
- Inkl. 300,- € Startguthaben im 1. Monat
Apache konfigurieren
Um vom Web aus auf das Node.js-Skript zuzugreifen, installieren Sie die Apache-Module proxy und proxy_http mit den Befehlen:
Nach Abschluss der Installation starten Sie Apache neu, damit die Änderungen wirksam werden:
Als nächstes müssen Sie die Apache-Proxy-Konfigurationen anpassen. Folgende Anweisungen müssen in den VirtualHost-Befehlsblock in der Hauptkonfigurationsdatei des Apache der Website eingefügt werden.
Diese Apache-Konfigurationsdatei finden Sie normalerweise im Dateipfad /etc/apache2/sites-available/example.com.conf auf Ubuntu.
Der Speicherort und Dateiname der Apache-Konfigurationsdatei einer Website kann variieren.
Bearbeiten Sie diese Datei mit einem Editor Ihrer Wahl, z. B. mit dem Befehl:
Scrollen Sie durch die Datei, bis Sie den VirtualHost-Befehlsblock finden, der so aussehen wird:
Fügen Sie Folgendes zum VirtualHost-Befehlsblock hinzu:
Stellen Sie sicher, dass diese Zeilen außerhalb von Verzeichnisbefehlsblöcken platziert werden. Zum Beispiel:
Speichern und beenden Sie die Datei und starten Sie dann Apache neu, damit die Änderungen wirksam werden:
Nach dem Neustart von Apache können Sie die Anwendung testen, indem Sie sie in einem Browser anzeigen. Sie sollten dort die folgende Nachricht aus der zuvor erstellen Testdatei sehen: