Heim >Betrieb und Instandhaltung >Nginx >Erfahren Sie, wie Sie mit NGINX und PM2 Node.js-Anwendungen auf VPS-Servern bereitstellen

Erfahren Sie, wie Sie mit NGINX und PM2 Node.js-Anwendungen auf VPS-Servern bereitstellen

王林
王林Original
2023-09-26 17:54:411331Durchsuche

Erfahren Sie, wie Sie mit NGINX und PM2 Node.js-Anwendungen auf VPS-Servern bereitstellen

Lernen Sie, wie Sie NGINX und PM2 verwenden, um Node.js-Anwendungen auf VPS-Servern bereitzustellen.

Heute werde ich Ihnen vorstellen, wie Sie NGINX und PM2 verwenden, um Node.js-Anwendungen auf VPS-Servern bereitzustellen. Node.js ist ein sehr beliebtes Back-End-Entwicklungsframework, während NGINX ein leistungsstarker Reverse-Proxy-Server und PM2 ein leistungsstarker Prozessmanager ist. Durch die gemeinsame Verwendung dieser drei Tools können wir eine effiziente und stabile Serverbereitstellung erreichen.

  1. Stellen Sie sicher, dass Node.js und NPM installiert sind. Wenn es nicht installiert ist, können Sie es mit dem folgenden Befehl installieren:
sudo apt-get update
sudo apt-get install nodejs
sudo apt-get install npm
  1. Install PM2 Process Manager. PM2 kann uns dabei helfen, den Prozess von Node.js-Anwendungen zu verwalten und sie automatisch neu zu starten, wenn die Anwendung abstürzt. Installieren Sie mit dem folgenden Befehl:
sudo npm install -g pm2
  1. Erstellen Sie eine einfache Node.js-Anwendung. Erstellen Sie einen neuen Ordner auf Ihrem VPS und erstellen Sie darin eine Datei mit dem Namen app.js. Schreiben Sie Ihren Anwendungscode in app.js. Hier ist zum Beispiel ein einfacher Express-Anwendungscode: app.js 的文件。在 app.js 中编写你的应用程序代码。例如,以下是一个简单的Express应用程序代码:
var express = require('express');
var app = express();

app.get('/', function(req, res) {
  res.send('Hello World!');
});

app.listen(3000, function() {
  console.log('App listening on port 3000!');
});
  1. 使用PM2启动应用程序。在终端中,导航到应用程序目录并运行以下命令:
pm2 start app.js

现在,你的应用程序已经通过PM2启动,并且会在失败时自动重新启动。

  1. 配置NGINX反向代理。我们希望将 NGINX 配置为监听80端口,将传入的请求转发到我们的Node.js应用程序。打开NGINX配置文件,路径一般为 /etc/nginx/sites-enabled/default,并进行如下配置:
server {
  listen 80;
  server_name your-domain.com;

  location / {
    proxy_set_header   X-Real-IP $remote_addr;
    proxy_set_header   Host      $http_host;
    proxy_pass         http://127.0.0.1:3000;
  }
}

在该配置中,将 your-domain.com 替换为你的域名。然后,将 127.0.0.1:3000

sudo service nginx reload
      Starten Sie die Anwendung mit PM2. Navigieren Sie im Terminal zum Anwendungsverzeichnis und führen Sie den folgenden Befehl aus:
    1. rrreee
    Jetzt wurde Ihre Anwendung über PM2 gestartet und wird bei einem Fehler automatisch neu gestartet.

      Konfigurieren Sie den NGINX-Reverse-Proxy. Wir möchten NGINX so konfigurieren, dass es Port 80 überwacht und eingehende Anfragen an unsere Node.js-Anwendung weiterleitet. Öffnen Sie die NGINX-Konfigurationsdatei, der Pfad lautet im Allgemeinen /etc/nginx/sites-enabled/default und konfigurieren Sie sie wie folgt:

      rrreee

      Ändern Sie in dieser Konfiguration your-domain. com durch Ihren Domainnamen. Ersetzen Sie dann <code>127.0.0.1:3000 durch die Adresse und den Port, auf dem Ihre Anwendung ausgeführt wird.

      🎜🎜Speichern und schließen Sie das Profil. Laden Sie dann die NGINX-Konfiguration neu, damit sie wirksam wird: 🎜🎜rrreee🎜 NGINX sendet nun eingehende Anfragen über den Reverse-Proxy an unsere Node.js-Anwendung. 🎜🎜Herzlichen Glückwunsch! Sie haben erfolgreich eine Node.js-Anwendung auf einem VPS-Server mit NGINX und PM2 bereitgestellt. Jetzt können Sie auf Ihren Domainnamen zugreifen und sehen, was Ihre Anwendung ausführt. 🎜🎜Das Obige ist eine kurze Anleitung zur Verwendung von NGINX und PM2 zum Bereitstellen von Node.js-Anwendungen auf VPS-Servern. Ich hoffe, es wird Ihnen hilfreich sein. 🎜

Das obige ist der detaillierte Inhalt vonErfahren Sie, wie Sie mit NGINX und PM2 Node.js-Anwendungen auf VPS-Servern bereitstellen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn