So konfigurieren Sie Nginx als Reverse -Proxy für die NodeJS -App
- 3762
- 996
- Phoebe Jeorga
Nodejs ist ein kostenloses Open Source, ein leichtes, skalierbares und effizientes JavaScript-Framework, das auf der V8 JavaScript-Engine von Chrome basiert, und verwendet ein ereignisorientiertes, nicht blockierendes E/A-Modell. NodeJS ist jetzt überall und ist so beliebt für die Entwicklung von Software von Websites, Web -Apps zu Netzwerk -Apps und mehr.
Nginx ist eine Open Source-, Hochleistungs-HTTP-Server, Lade-Balancer- und Reverse-Proxy-Software. Es hat eine einfache Konfigurationssprache, die es einfach zu konfigurieren macht. In diesem Artikel zeigen wir, wie Nginx als Reverse -Proxy für NodeJS -Anwendungen konfiguriert werden kann.
Lesen Sie auch: Der ultimative Leitfaden zur Sicherung, Härte und Verbesserung der Leistung des NGINX -Webservers
Notiz: Wenn Ihr System bereits ausgeführt wird mit Nodejs Und NPM, Und lassen Sie Ihre App auf einem bestimmten Port laufen, direkt zu Schritt 4.
Schritt 1: Installieren von NodeJs und NPM unter Linux
Die neueste Version von Knoten.JS Und NPM kann über das offizielle Nodesource Enterprise Linux-, Fedora-, Debian- und Ubuntu -Binärverteilungs -Repository installiert werden, das von der NodeJS -Website verwaltet wird.
Auf Debian/Ubuntu
---------- Knoten installieren.JS V11.X ---------- $ curl -l https: // deb.nodesource.com/setup_11.x | sudo -e bash -$ sudo apt -Get -y nodejs installieren ---------- Knoten installieren.JS V10.X ---------- $ curl -l https: // deb.nodesource.com/setup_10.x | sudo -e bash -$ sudo apt -Get -y nodejs installieren
Auf Centos/Rhel und Fedora
---------- Knoten installieren.JS V11.X ---------- $ curl -l https: // rpm.nodesource.com/setup_11.x | verprügeln - ---------- Knoten installieren.JS V10.X ---------- $ curl -l https: // rpm.nodesource.com/setup_10.x | verprügeln -
Schritt 2: Erstellen einer NodeJS -Anwendung
Zu dem Demonstrationszweck werden wir eine Beispielanwendung erstellen, die genannt wird "Sysmon", die am Port ausgeführt werden 5000 wie gezeigt.
$ sudo mkdir -p/var/www/html/sysmon $ sudo vim/var/www/html/sysmon/server.JS
Kopieren Sie den folgenden Code in die Server.JS Datei (ersetzen 192.168.43.31 mit Ihrem Server IP).
const http = required ('http'); const hostname = '192.168.43.31'; const port = 5000; const server = http.createServer ((req, res) => res.Statuscode = 200; res.Setheader ('Inhaltstyp', 'Text/Plain'); res.Ende ('Sysmon App ist in Betrieb!\N'); ); Server.Hören Sie (Port, Hostname, () => Konsole.log ('Server, der unter http: // $ hostname: $ port/') ausgeführt wird; );
Speichern Sie die Datei und beenden Sie.
Starten Sie nun Ihre Knotenanwendung mit dem folgenden Befehl (Drücken Sie drücken Strg+x
es zu beenden)).
$ sudo node/var/www/html/sysmon/server.JS oder $ sudo node/var/www/html/sysmon/server.JS & #Start es im Hintergrund, um Ihr Terminal freizugeben
Öffnen Sie nun einen Browser und greifen Sie auf Ihre Anwendung bei der URL zu http: // 198.168.43.31: 5000
.
Schritt 3: Installieren Sie Nginx Reverse Proxy unter Linux
Wir werden die neueste Version von installieren Nginx Aus dem offiziellen Repository, wie unten gezeigt.
Auf Debian/Ubuntu
Erstellen Sie eine Datei aufgerufen /etc/Apt/Quellen.Liste.d/nginx.Liste und fügen Sie die folgenden Zeilen hinzu.
Deb http: // nginx.org/pakete/ubuntu/bionic nginx deb-src http: // nginx.org/pakete/ubuntu/bionic nginx
Fügen Sie als Nächst.
$ wget -quiet http: // nginx.org/keys/nginx_signing.Key && sudo apt-key nginx_signing hinzufügen.Key $ sudo APT Update $ sudo apt install nginx
Auf Centos/Rhel und Fedora
Erstellen Sie eine Datei mit dem Namen /etc/yum.Repos.d/nginx.Repo und fügen Sie eine der folgenden Konfigurationen ein.
Centos
[nginx] name = nginx repo baseUrl = http: // nginx.org/pakete/centos/$ Releasever
/ $ basearch/ gpgcheck = 0 aktiviert = 1
Rhel
[nginx] name = nginx repo baseUrl = http: // nginx.org/pakete/rhel/$ Releasever
/ $ basearch/ gpgcheck = 0 aktiviert = 1
Notiz: Aufgrund der Unterschiede zwischen der Art und Weise, wie CentOS und Rhel ersetzen müssen $ Releasever
mit beiden 6 (für 6.X) oder 7 (für 7.X)) abhängig von Ihrer Betriebssystemversion.
Fügen Sie als Nächst.
# WGet -Quiet http: // nginx.org/keys/nginx_signing.Schlüssel && RPM -Import nginx_signing.Schlüssel # yum install nginx
Nach erfolgreicher Installation Nginx, Starten Sie es, befähigen Sie es, beim Systemstart automatisch zu starten, und prüfen Sie, ob es in Betrieb ist.
---------- Auf Debian/Ubuntu ---------- $ sudo systemctl Status nginx $ sudo systemctl aktivieren nginx $ sudo systemctl status nginx ---------- Auf Centos/Rhel ---------- # Systemctl Status Nginx # SystemCTL aktivieren Nginx # SystemCTL Status nginx
Wenn Sie eine Systemfeuerwall ausführen, müssen Sie den Port öffnen 80 (HTTP), 443 (https) Und 5000 (Knoten -App), auf den der Webserver für Client -Verbindungsanforderungen hört.
---------- Auf Debian/Ubuntu ---------- $ sudo ufw erlauben 80/tcp $ sudo ufw erlauben 443/tcp $ sudo ufw zulassen 5000/tcp $ sudo ufw reload ---------- Auf Centos/Rhel ---------- # Firewall-CMD --permanent --add-Port = 80/TCP # Firewall-CMD --Permanent --add-Port = 443/TCP # Firewall-CMD --Permanent --add-Port = 5000/TCP # Firewall -cmd -Reload
Schritt 4: Konfigurieren Sie Nginx als Reverse -Proxy für die NodeJS -Anwendung
Erstellen Sie nun eine Server -Block -Konfigurationsdatei für Ihre Knoten -App unter /etc/nginx/conf.D/ wie gezeigt.
$ sudo vim/etc/nginx/conf.d/sysmon.Conf
Kopieren und fügen Sie die folgende Konfiguration ein (Änderung 192.168.43.31 mit Ihrem Server IP und Tecmint.Lan mit Ihrem Domain -Namen).
Server Listen 80; Servername Sysmon.Tecmint.Lan; location / proxy_set_header x-forwarded-for $ remote_addr; proxy_set_header host $ http_host; Proxy_Pass http: // 192.168.43.31: 5000;
Speichern Sie die Änderungen und beenden Sie die Datei.
Starten Sie schließlich den Nginx -Dienst neu, um die jüngsten Änderungen zu bewirken.
$ sudo systemctl neu starten nginx oder # systemctl neu starten nginx neu
Schritt 5: Zugriff auf die NodeJS -Anwendung über Webbrowser
Jetzt sollten Sie in der Lage sein, auf Ihre Knoten -App zugreifen zu können, ohne den Port anzugeben, den er anhört, in der URL: Dies ist eine viel bequeme Möglichkeit für Benutzer, darauf zugreifen zu können.
http: // sysmon.Tecmint.Lan
Damit Ihr Testdomainnamen funktioniert, müssen Sie lokale DNs mit dem einrichten /etc/hosts Datei, öffnen Sie es und fügen Sie die unten darunter 192.168.43.31 mit Ihrem Server IP und Tecmint.Lan mit Ihrem Doamin -Namen wie zuvor).
192.168.43.31 Sysmon.Tecmint.LanZugreifen
Das ist alles! In diesem Artikel haben wir gezeigt, wie Nginx als Reverse Proxy für NodeJS -Anwendungen konfiguriert werden kann. Verwenden Sie das Feedback -Formular unten, um Fragen zu stellen oder Ihre Gedanken zu diesem Artikel zu teilen.
- « So starten Sie im Rettungsmodus oder in den Notfallmodus in Ubuntu 20.04 /18.04
- So installieren Sie PHP 8.0 auf Ubuntu 20.04 /18.04 »