Košík je prázdný

Node.js je populární a výkonný nástroj pro vývoj serverových aplikací, které mohou být spuštěny na různých platformách. Pro zajištění stabilního a efektivního běhu těchto aplikací na virtuálních privátních serverech (VPS) je klíčová jejich správná konfigurace a optimalizace. V tomto článku se zaměříme na optimalizaci výkonu Node.js aplikací s využitím správce procesů PM2 a Nginx jako reverse Proxy.

PM2: Správce procesů pro Node.js aplikace

PM2 je robustní, efektivní a všestranný správce procesů pro Node.js aplikace, který se postará o správu vašich aplikací v produkčním prostředí. Nabízí funkce jako automatický restart aplikací v případě jejich pádu, umožňuje snadné škálování aplikací bez nutnosti zastavit a restartovat celý server, a poskytuje užitečný dashboard pro monitoring výkonu aplikací.

  1. Instalace PM2

    PM2 nainstalujete pomocí npm (Node package manager) příkazem:

    npm install pm2@latest -g
    
  2. Spuštění aplikace s PM2

    Aplikaci můžete spustit pomocí PM2 jednoduše takto:

    pm2 start app.js
    
  3. Automatický restart a škálování

    PM2 umožňuje nastavit, aby se aplikace automaticky restartovala po pádu nebo při změně souborů. Škálování aplikace podle dostupných CPU jader můžete provést příkazem:

    pm2 scale app 4
    
  4. Monitoring a logování

    Pro zobrazení běžících aplikací a monitorování jejich výkonu slouží příkaz:

    pm2 monit
    

 

Nginx jako reverse proxy

Nginx je vysokovýkonný HTTP server a reverse proxy, který může zvýšit výkon a bezpečnost vaší Node.js aplikace tím, že slouží jako intermediář mezi uživateli a aplikací běžící na Node.js.

  1. Instalace Nginx

    Na většině Linuxových distribucí můžete Nginx nainstalovat pomocí správce balíčků:

    sudo apt-get update
    sudo apt-get install nginx
    
  2. Konfigurace jako reverse proxy

    Konfigurační soubor pro Nginx, obvykle umístěný v /etc/nginx/sites-available/default, upravte tak, aby Nginx přesměrovával požadavky na portu 80 na port, kde běží vaše Node.js aplikace (např. 3000).

    server {
        listen 80;
    
        server_name example.com;
    
        location / {
            proxy_pass http://localhost:3000;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection 'upgrade';
            proxy_set_header Host $host;
            proxy_cache_bypass $http_upgrade;
        }
    }
    
  3. Optimalizace a bezpečnost

    Konfigurací Nginx můžete také zlepšit bezpečnost (např. omezením přístupu, HTTPS) a výkon (komprese dat, cachování) vaší aplikace.

Optimalizace Node.js aplikací pomocí PM2 a Nginx reverse proxy je efektivní způsob, jak zlepšit jejich výkon, stabilitu a bezpečnost na VPS. S touto kombinací můžete dosáhnout vyšší dostupnosti a lepšího využití serverových zdrojů, což je zásadní pro běh kritických a vysoko dostupných aplikací.