Blog o spletnem programiranju in elektroniki
💬 👤
back Nazaj na blog
Linux

Kako namestiti Node.js na Linux strežnik in ga pripraviti za splet

Ko vaša Node.js aplikacija lokalno deluje brezhibno, je naslednji korak njena selitev na produkcijski spletni strežnik. Za razliko od PHP-ja, kjer datoteke preprosto odvržemo v mapo, Node.js zahteva lasten proces, ki mora teči neprekinjeno, in ustrezno konfiguracijo strežnika.

V tem vodiču si bomo pogledali profesionalen način namestitve Node.js na Linux (Ubuntu/Debian) strežnik z uporabo orodij NVM, upravljalnika procesov PM2 in spletnega strežnika Nginx.

1. Namestitev Node.js preko NVM

Namesto neposredne namestitve preko sistemskega upravljalnika paketov (apt) je veliko bolje uporabiti NVM (Node Version Manager). To vam omogoča enostavno preklapljanje med različicami Node.js brez podiranja sistemskih odvisnosti.

# Prenos in zagon NVM namestitvene skripte
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

# Ponovno naloži nastavitve terminala
source ~/.bashrc

# Namestitev najnovejše stabilne LTS različice Node.js
nvm install --lts

# Preverjanje uspešnosti namestitve
node -v
npm -v

2. Poganjanje aplikacije v ozadju s PM2

Če aplikacijo zaženete z ukazom node app.js, se bo ta zaprla takoj, ko zaprete terminal. Da bi aplikacija tekla 24/7 in se samodejno ponovno zagnala ob sesutju ali restartu strežnika, uporabimo procesni upravljalnik PM2.

# Globalna namestitev PM2 preko npm
sudo npm install pm2 -g

# Zagon vaše aplikacije in poimenovanje procesa
pm2 start app.js --name "moj-node-projekt"

# Nastavitev samodejnega zagona PM2 ob restartu Linux strežnika
pm2 startup
# (Sledite ukazu, ki vam ga PM2 izpiše na zaslonu in ga skopirajte!)

# Shranitev trenutnega stanja procesov
pm2 save

3. Konfiguracija Nginx kot Reverse Proxy

Tvoja Node.js aplikacija običajno posluša na specifičnih vratih (npr. port 3000). Da bi bila dostopna svetu preko standardnih vrat 80 (HTTP) ali 443 (HTTPS), pred njo postavimo Nginx, ki bo deloval kot posrednik (Reverse Proxy).

Odpri konfiguracijsko datoteko za svojo spletno stran v Nginx-u:

sudo nano /etc/nginx/sites-available/default

Znotraj location / bloka prilagodi nastavitve tako, da bodo preusmerjale promet na lokalna vrata tvoje aplikacije:

server {
    listen 80;
    server_name tvoja-domena.com www.tvoja-domena.com;

    location / {
        proxy_pass http://localhost:3000; # Vrata, kjer posluša Node.js
        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;
    }
}

Shrani datoteko, preveri Nginx konfiguracijo in znova zaženi strežnik:

sudo nginx -t
sudo systemctl restart nginx

Sedaj je tvoja Node.js aplikacija varno izolirana v ozadju strežnika, Nginx pa profesionalno in hitro upravlja z vsemi zunanjimi zahtevami obiskovalcev.

back Nazaj na blog