Heim  >  Artikel  >  Betrieb und Instandhaltung  >  NGINX PM2 VPS: Erstellen Sie schnell einen skalierbaren Anwendungsserver

NGINX PM2 VPS: Erstellen Sie schnell einen skalierbaren Anwendungsserver

PHPz
PHPzOriginal
2023-09-26 10:41:021164Durchsuche

NGINX PM2 VPS: 快速搭建可扩展的应用服务器

NGINX PM2 VPS: Erstellen Sie schnell einen skalierbaren Anwendungsserver

Einführung:
In der modernen Anwendungsentwicklung ist der Aufbau eines skalierbaren Anwendungsservers von entscheidender Bedeutung geworden. NGINX, PM2 und VPS sind drei leistungsstarke Tools, mit deren Kombination schnell ein skalierbarer Anwendungsserver aufgebaut werden kann. In diesem Artikel wird erläutert, wie Sie mit diesen Tools einen leistungsstarken Anwendungsserver erstellen, und es werden spezifische Codebeispiele bereitgestellt.

1. Was ist NGINX?
NGINX ist ein leistungsstarker Webserver und Reverse-Proxy-Server. Es kann Anfragen mit hoher Parallelität verarbeiten, schnell reagieren und verfügt über einen zuverlässigen Lastausgleich und Sicherheit. Beim Aufbau eines skalierbaren Anwendungsservers wird NGINX normalerweise als Front-End-Server verwendet, um Client-Anfragen zu empfangen und die Anfragen an den Back-End-Anwendungsserver weiterzuleiten.

2. Was ist PM2?
PM2 ist ein Prozessverwaltungstool, das Anwendungsverwaltungs- und Überwachungsfunktionen bereitstellen kann, wenn Node.js-Anwendungen ausgeführt werden. PM2 gewährleistet einen stabilen Betrieb der Anwendung, startet die Anwendung automatisch neu und stellt Fehlerprotokolle bereit, wenn die Anwendung abstürzt. Beim Aufbau eines skalierbaren Anwendungsservers kann PM2 zur Verwaltung und Überwachung mehrerer Anwendungsprozesse verwendet werden.

3. Was ist VPS?
VPS (Virtual Private Server) ist eine Virtualisierungstechnologie, die mehrere unabhängige virtuelle Server auf einem physischen Server aufteilen kann. Jeder virtuelle Server verfügt über ein eigenes Betriebssystem und eigene Ressourcen und kann Anwendungen unabhängig ausführen. Beim Aufbau eines skalierbaren Anwendungsservers können Sie VPS verwenden, um virtuelle Server für mehrere Anwendungen zuzuweisen und zu verwalten.

Vier Schritte zum schnellen Aufbau eines skalierbaren Anwendungsservers:

  1. VPS kaufen
    Zuerst müssen Sie einen VPS-Anbieter wie Alibaba Cloud, Tencent Cloud usw. kaufen. Wählen Sie die Konfiguration, die Ihren Anforderungen entspricht, und erwerben Sie einen oder mehrere VPS.
  2. NGINX installieren
    Melden Sie sich beim VPS an und installieren Sie NGINX über Paketverwaltungstools (wie apt, yum). Führen Sie nach Abschluss der Installation den folgenden Befehl aus, um den NGINX-Dienst zu starten:
sudo systemctl start nginx
  1. Richten Sie den NGINX-Reverse-Proxy ein
    Bearbeiten Sie die NGINX-Konfigurationsdatei /etc/nginx/sites-available/default , fügen Sie den folgenden Inhalt hinzu und fügen Sie den Client hinzu. Leiten Sie die Anforderung an den Backend-Anwendungsserver weiter: /etc/nginx/sites-available/default,添加以下内容,将客户端的请求转发到后端的应用服务器:
server {
    listen 80;
    server_name example.com;

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

保存并退出配置文件,然后重新加载 NGINX 配置:

sudo systemctl reload nginx
  1. 安装 Node.js 和 PM2
    使用包管理工具安装 Node.js,并全局安装 PM2。安装完成后,进入应用程序的根目录,执行以下命令启动应用程序:
pm2 start app.js

应用程序现在会在后台运行,并由 PM2 进程管理工具监控。可以使用以下命令查看应用程序的状态:

pm2 list
  1. 添加更多的应用程序
    如果要添加更多的应用程序,可以在不同的端口上启动多个应用程序进程。例如,要添加第二个应用程序,可以执行以下命令:
pm2 start app2.js
  1. 配置负载均衡器
    如果希望将请求分发到不同的后端应用服务器,可以使用负载均衡器来实现。可以使用 NGINX 的 upstream 模块来配置负载均衡。编辑 NGINX 配置文件 /etc/nginx/sites-available/default
  2. upstream backend {
        server localhost:3000;
        server localhost:3001;
        # 添加更多的后端服务器
    }
    
    server {
        listen 80;
        server_name example.com;
    
        location / {
            proxy_pass http://backend;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
        }
    }
Speichern und beenden Sie die Konfigurationsdatei, laden Sie dann die NGINX-Konfiguration neu:

sudo systemctl reload nginx

    Install Node. js und PM2

    Verwenden Sie das Paketverwaltungstool, um Node js zu installieren und PM2 global zu installieren. Gehen Sie nach Abschluss der Installation in das Stammverzeichnis der Anwendung und führen Sie den folgenden Befehl aus, um die Anwendung zu starten:

    rrreee
    Die Anwendung wird nun im Hintergrund ausgeführt und vom PM2-Prozessmanagement-Tool überwacht. Sie können den Status der Anwendung mit dem folgenden Befehl anzeigen:

    rrreee
      🎜Weitere Anwendungen hinzufügen🎜Wenn Sie weitere Anwendungen hinzufügen möchten, können Sie mehrere Anwendungsprozesse auf verschiedenen Ports starten. Um beispielsweise eine zweite Anwendung hinzuzufügen, können Sie den folgenden Befehl ausführen: 🎜🎜rrreee
        🎜Load Balancer konfigurieren🎜Wenn Sie Anfragen auf verschiedene Backend-Anwendungsserver verteilen möchten, können Sie einen Load Balancer verwenden zu erreichen. Der Lastausgleich kann mit dem Upstream-Modul von NGINX konfiguriert werden. Bearbeiten Sie die NGINX-Konfigurationsdatei /etc/nginx/sites-available/default und fügen Sie Folgendes hinzu: 🎜🎜rrreee🎜Speichern und beenden Sie die Konfigurationsdatei und laden Sie dann die NGINX-Konfiguration neu: 🎜rrreee🎜Jetzt NGINX fordert die Verteilung an verschiedene Back-End-Anwendungsserver an, um einen Lastausgleich zu erreichen. 🎜🎜Fazit: 🎜Durch die Kombination von NGINX, PM2 und VPS können Sie schnell einen skalierbaren Anwendungsserver aufbauen. NGINX bietet leistungsstarke Anforderungsverarbeitungs- und Lastausgleichsfunktionen, PM2 bietet Anwendungsverwaltungs- und Überwachungsfunktionen und VPS bietet eine virtuelle Umgebung für die unabhängige Ausführung von Anwendungen. Ich hoffe, dass die in diesem Artikel bereitgestellten Codebeispiele beim Aufbau eines skalierbaren Anwendungsservers hilfreich sein werden. 🎜

Das obige ist der detaillierte Inhalt vonNGINX PM2 VPS: Erstellen Sie schnell einen skalierbaren Anwendungsserver. 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