Beispiel für die Bereitstellungsmethode „Forever+nginx“ einer Node-Site

Beispiel für die Bereitstellungsmethode „Forever+nginx“ einer Node-Site

Ich habe vor Kurzem den günstigsten Tencent-Cloud-Server gekauft, den ich hauptsächlich verwende, um mein persönliches Blog bereitzustellen und mir einige Linux-Kenntnisse anzueignen, um die Webtechnologie vollständig zu verstehen und zu beherrschen. Es wird dringend empfohlen, dass das Front-End-Personal über einen eigenen Server verfügt. Bevor ich diesen Artikel geschrieben habe, waren auf meinem Cloud-Server bereits Mysql, Node, Nginx usw. installiert. Nehmen wir als Beispiel die Bereitstellung einer Node-Website, um mehrere gängige Szenarien zu erklären

Threads laufen dauerhaft

Im Allgemeinen starten wir einen Server über node index.js im Fenster cmd. Solange es nicht geschlossen ist, können wir immer auf die Schnittstelle zugreifen und sie aufrufen. Wenn Sie unter Linux jedoch längere Zeit nicht arbeiten oder andere Vorgänge ausführen möchten, wird Ihr Knotendienst getrennt und die Benutzer können nicht auf Ihre Website zugreifen. was zu tun? Wir können das Forever-Modul installieren, um dieses Problem zu lösen.

npm install forever -g // Das Forever-Modul global installieren

Ändern Sie einfach die ursprüngliche Startmethode node index.js in forever start index.js. Hier sind einige allgemeine Befehle

forever list // Listet alle aktuell laufenden Dienste auf forever start -w index.js // Automatischer Neustart bei Dateiänderung forever stopall // Stoppt alle Dienste forever stop app.js // Stoppt eine der Node-Apps 
forever stop [id] // forever list findet die entsprechende ID, dann

Natürlich gibt es noch viele weitere Befehle, diese können Sie den entsprechenden Modulen entnehmen. Im Allgemeinen ist die einfachste Verwendungsweise folgende:

starte index.js für immer

Auf diese Weise bleibt der Knotendienst auch dann bestehen, wenn wir zu anderen Linux-Pfaden wechseln oder das System beenden, d. h. andere können weiterhin auf Ihre Website zugreifen.

Konfigurieren Sie nginx

nginx ist ein von Russen entwickelter Reverse-Proxy-Server, der mittlerweile von vielen Unternehmen weltweit verwendet wird. Zur Einführung und Installation von nginx können Sie die Informationen selbst lesen oder schnell mit dem Tutorial für Anfänger lernen. Hier hat mein Linux bereits nginx installiert.

Als nächstes werde ich nginx verwenden, um http://localhost:8089 als Proxy zu verwenden, das gerade von forever start index.js gestartet wurde, d. h., um über meinen Domänennamen auf die Website http://localhost:8089 zuzugreifen. Sehen Sie sich den Pfad der nginx-Konfigurationsdatei an

finden / -name nginx.conf 

Wechseln Sie dorthin und ändern Sie die Konfiguration darin

 Server {
  listen 80; # Konfigurieren Sie einfach den Abhörport auf 80 Servername hellocode.xyz; # Geben Sie den Domänennamen ein und es wird zu http://localhost:8089 gesprungen
  /etc/nginx/default.d/*.conf einschließen;
  Standort / {
   proxy_pass http://118.89.33.75:8089; # Ihre Node-Website-Anwendung}
  Fehlerseite 404 /404.html;
    Standort = /40x.html {
  }
  Fehlerseite 500 502 503 504 /50x.html;
    Standort = /50x.html {
  }
}

Beenden, um zu prüfen, ob die Konfiguration korrekt ist

nginx -t 

Nginx neu laden

nginx -s neu laden

Öffnen Sie den Browser und geben Sie die URL ein, um auf die Website zuzugreifen!

Während des Zugriffs können domänenübergreifende Probleme auftreten. Sie müssen daher die Knotenseite so einrichten, dass sie domänenübergreifende Unterstützung bietet. Passen Sie für das Express-Framework eine Middleware in index.js an.

var allowCors = Funktion(req, res, next) {
 res.header('Zugriffskontrolle-Origin zulassen', req.headers.origin);
 res.header('Zugriffskontrolle-Zulassen-Methoden', 'GET, PUT, POST, DELETE, OPTIONS');
 res.header('Zugriffskontrolle-Header zulassen', 'Inhaltstyp');
 res.header('Zugriffskontrolle-Anmeldeinformationen zulassen','true');
 nächste();
};
app.use(allowCors); //Domänenübergreifende Middleware verwenden

Im folgenden Blog werden domänenübergreifende Probleme ausführlich erläutert.

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Tutorial zum Konfigurieren der GZip-Komprimierung bei Verwendung von Nginx als Reverse-Proxy für Node.js-Sites
  • Verzichten Sie auf Nginx und verwenden Sie nodejs als Reverse-Proxy-Server
  • Tutorial zur Konfiguration der Nginx+SSL+Node.js-Betriebssystemumgebung
  • So verwenden Sie Nginx als Reverse-Proxy für Node.js
  • Detaillierte Schritte zum Bereitstellen von https in der Alibaba Cloud mit nginx + node
  • Zusammenfassung zum Einrichten von Nginx als Front-End-Server für Node.js

<<:  Detaillierte Erläuterung der Ideen zur Leistungsoptimierung für funktionale React-Komponenten

>>:  Fallstricke bei der Installation der dekomprimierten Version von MySQL 5.7.20 (empfohlen)

Artikel empfehlen

Detaillierte Erklärung der GaussDB zur MySQL-Leistungsoptimierung

Inhaltsverzeichnis Hintergrund Inspiration kommt ...

So aktivieren Sie die MySQL-Remoteverbindung

Aus Sicherheitsgründen erlaubt MySql-Server nur d...

Die Aktualisierung der Seite zur Formularübermittlung springt nicht

1. Quellcode entwerfen Code kopieren Der Code laut...

Eine kurze Analyse der Unterschiede zwischen Undo, Redo und Binlog in MySQL

Inhaltsverzeichnis Vorwort 【Protokoll rückgängig ...

Natives JS zum Erzielen von Book-Flipping-Effekten

In diesem Artikel wird ein mit nativem JS impleme...

Ein grafisches Tutorial zur Installation von MySQL unter Windows

Zusammenfassung: Dieser Artikel erläutert hauptsä...

Detaillierte Erläuterung des Vuex-Gesamtfalls

Inhaltsverzeichnis 1. Einleitung 2. Vorteile 3. N...

Zusammenfassung der Mysql Hochleistungsoptimierungsfähigkeiten

Datenbank-Befehlsspezifikation Alle Datenbankobje...

Tutorial zur Optimierung der Installationskonfiguration von MySQL 8.0.18

Die Installation, Konfiguration und Optimierung v...

Detaillierte Erklärung der Linux-CPU-Last und CPU-Auslastung

CPU-Last und CPU-Auslastung Beides kann bis zu ei...

So erstellen Sie eine MySQL-Datenbank (de1) mit Befehlen

1. Verbindung zu MySQL herstellen Format: mysql -...

Tiefgreifendes Verständnis der Vue-cli4-Routing-Konfiguration

Inhaltsverzeichnis Vorwort - Vue Routing 1. Die g...