August 26, 2026 · by Alex M.
Node.js a devenit unul dintre cele mai populare medii de execuție pentru aplicații web — de la API-uri REST și aplicații în timp real, până la tool-uri CLI și microservicii. Dacă ai un VPS SSD și vrei să rulezi aplicații Node.js în producție, acest ghid îți arată exact cum să procedezi, pas cu pas.
Shared hosting-ul este excelent pentru site-uri WordPress sau aplicații PHP clasice. Însă Node.js are nevoie de un proces propriu care rulează continuu, de porturi deschise și de control deplin asupra mediului de execuție — lucruri pe care shared hosting cPanel nu le oferă în mod nativ.
Pe un VPS NVMe, ai:
- Root access complet — instalezi orice versiune Node.js
- Procese persistente — aplicația rulează non-stop cu PM2 sau systemd
- Performanță predictibilă — fără vecini zgomotoși
- Control total asupra porturilor, firewall-ului și configurației
Pentru acest ghid vei avea nevoie de:
- Un VPS cu Ubuntu 22.04 sau Debian 12 (recomandat)
- Acces SSH cu utilizator root sau sudo
- Cunoștințe de bază în linia de comandă Linux
Dacă nu ai încă un server, poți comanda un VPS SSD sau un VPS 1C la un preț accesibil, perfect pentru proiecte de start.
NVM îți permite să instalezi și să comuți între mai multe versiuni Node.js fără conflicte — ideal în producție.
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
După instalare, reîncarcă configurația shell-ului:
export NVM_DIR="$HOME/.nvm"
source ~/.bashrc
Verifică instalarea:
nvm --version
# output: 0.39.7
nvm install --lts
nvm use --lts
nvm alias default 'lts/*'
Verifică versiunile instalate:
node --version
# v20.x.x
npm --version
# 10.x.x
Dacă preferi o instalare la nivel de sistem (disponibilă pentru toți utilizatorii), folosește repository-ul oficial NodeSource:
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt-get install -y nodejs
Această metodă este utilă dacă administrezi un server cu servicii de management server și vrei o instalare standardizată.
Pentru a testa mediul, creăm un server HTTP simplu:
mkdir ~/myapp && cd ~/myapp
nano app.js
Conținutul fișierului app.js:
const http = require('http');
const hostname = '0.0.0.0';
const port = 3000;
const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('Hello from CliqHost VPS!\n');
});
server.listen(port, hostname, () => {
console.log(`Server running at http://${hostname}:${port}/`);
});
Pornește aplicația:
node app.js
Deschide browser-ul și accesează http://IP_VPS_TAU:3000 — ar trebui să vezi mesajul de bun venit.
Într-un mediu de producție, aplicația trebuie să ruleze continuu și să repornească automat după un crash sau reboot. PM2 este soluția standard pentru aceasta.
npm install -g pm2
cd ~/myapp
pm2 start app.js --name "myapp"
pm2 startup
# Copiază și execută comanda afișată (cu sudo)
pm2 save
pm2 status # starea proceselor
pm2 logs myapp # log-urile aplicației
pm2 restart myapp # repornire
pm2 stop myapp # oprire
pm2 delete myapp # ștergere din lista PM2
Aplicația Node.js rulează pe portul 3000, dar utilizatorii accesează site-ul pe portul 80/443. Configurăm Nginx ca reverse proxy pentru a direcționa traficul corect.
sudo apt update
sudo apt install nginx -y
sudo nano /etc/nginx/sites-available/myapp
server {
listen 80;
server_name domeniultau.com www.domeniultau.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;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
Activează configurația:
sudo ln -s /etc/nginx/sites-available/myapp /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx
Niciun site modern nu ar trebui să ruleze fără HTTPS. Instalează Certbot pentru un certificat Let's Encrypt gratuit:
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d domeniultau.com -d www.domeniultau.com
Dacă preferi un certificat SSL comercial cu validare extinsă, echipa CliqHost oferă certificate SSL pentru orice tip de proiect.
Asigură-te că porturile necesare sunt deschise și că portul 3000 (intern) nu este expus direct:
sudo ufw allow OpenSSH
sudo ufw allow 'Nginx Full'
sudo ufw deny 3000
sudo ufw enable
sudo ufw status
Niciodată nu stoca credențiale direct în cod. Folosește variabile de mediu:
npm install dotenv
Creează fișierul .env:
PORT=3000
DB_HOST=localhost
DB_USER=admin
DB_PASS=parola_secreta
NODE_ENV=production
În app.js, adaugă la început:
require('dotenv').config();
const port = process.env.PORT || 3000;
Important: Adaugă .env în .gitignore pentru a nu expune datele sensibile.
PM2 păstrează log-urile aplicației în ~/.pm2/logs/. Poți urmări log-urile în timp real:
pm2 logs myapp --lines 100
Pentru monitorizare avansată a resurselor serverului, verifică articolele noastre din blogul CliqHost unde găsești ghiduri despre monitorizarea CPU, RAM și disk pe Linux.
npm audit fix)pm2 start app.js -i max --name "myapp-cluster"
Instalarea și configurarea Node.js pe un VPS Linux nu este complicată dacă urmezi pașii corecți. Cu NVM gestionezi versiunile flexibil, PM2 asigură disponibilitatea continuă a aplicației, iar Nginx + SSL finalizează un setup de producție solid și securizat.
Pentru cele mai bune performanțe, un VPS NVMe cu stocare ultra-rapidă face diferența atunci când aplicația ta Node.js trebuie să servească zeci sau sute de cereri simultane. Iar dacă preferi să lași administrarea serverului pe mâna experților, serviciile noastre de management server sunt la dispoziția ta. Contactează echipa CliqHost pentru orice întrebare.
Recenzii reale de la clienți care au ales CLIQHOST pentru performanță, fiabilitate și suport tehnic.
"We moved our online shop from a foreign host and the difference is night and day — pages load instantly and support replies in minutes, in Romanian."
"Migrated 12 client sites to CLIQHOST. Free migration, zero downtime, and the cPanel setup is exactly what my team needed. Highly recommend."
"Our NVMe VPS handles traffic spikes without a sweat. Full root, local datacenter, and billing in MDL — everything we wanted from a provider."