WindowsPubblicato il 27 maggio 2026Lettura di 8 min

Installare Node.js su Windows Server

Questa guida ti spiega come installare Node.js su Windows Server con l'installer MSI, winget o nvm-windows. Poi ti mostra come distribuire un'applicazione, avviarla come servizio di Windows all'accensione e aprire il firewall. I comandi sono pensati per un VPS Windows di OuiHeberg, consegnato con Windows Server 2025. Collegati prima con Desktop remoto, come spiega la guida Connettersi a un VPS Windows tramite RDP.

Scegliere una versione e un metodo

Installa sempre una versione LTS, supportata più a lungo. Dal 28 ottobre 2026 la LTS attiva è Node.js 26. Node.js 24 e 22 ricevono ancora le correzioni di sicurezza. Node.js 20 non è più supportato dal 30 aprile 2026. Il calendario ufficiale delle versioni riporta le date aggiornate.

Ci sono tre metodi per installare Node.js su Windows Server.

MetodoUsoPunto di forzaLimite
Installer MSIUn'applicazione in produzioneInstallato per tutto il sistemaCambiare versione principale richiede di reinstallare
wingetLa stessa cosa con un comandoIncluso in Windows Server 2025Una sola versione alla volta
nvm-windowsProvare più versioniCambio di versione con un comandoInstallato nel tuo profilo, non adatto a un servizio

Per un'applicazione che deve restare sempre attiva, scegli l'MSI o winget. Il servizio di Windows descritto più avanti usa questo Node.js. Tieni nvm-windows per un server di sviluppo o di test.


Installare Node.js con l'installer MSI

  1. Sul VPS, apri la pagina di download di Node.js.

  2. Scegli la versione LTS per Windows su x64 e scarica il Windows Installer (.msi).

  3. Avvia il file e lascia le opzioni predefinite. L'opzione Add to PATH deve restare attiva.

  4. Apri una nuova finestra di PowerShell e controlla le versioni installate.

node -v
npm -v

La prima riga mostra la versione di Node.js, per esempio v26.13.0. La seconda mostra quella di npm. Per cambiare versione principale, disinstalla Node.js dalle impostazioni di Windows, poi installa l'MSI dell'altra versione.


Installare Node.js con winget

winget, il gestore di pacchetti di Windows, è installato di default su Windows Server 2025, secondo Microsoft. Un solo comando installa la LTS del momento.

winget install OpenJS.NodeJS.LTS

Il pacchetto installa lo stesso MSI, per tutto il sistema. Chiudi PowerShell, riaprilo e controlla con node -v. Questo comando aggiorna poi Node.js.

winget upgrade OpenJS.NodeJS.LTS

Installare nvm-windows per cambiare versione

nvm-windows installa più versioni di Node.js una accanto all'altra e passa dall'una all'altra. È un progetto diverso da nvm, che funziona solo su Linux e macOS. La sua versione 2 si installa nel tuo profilo utente, senza diritti di amministratore.

Node.js è già installato con l'MSI o winget? Disinstallalo prima. Due installazioni di Node.js nel PATH creano confusione.

Installa nvm-windows con winget. Puoi anche scaricare l'installer setup.exe dalla pagina delle versioni di nvm-windows.

winget install nvm-windows

Apri una nuova finestra di PowerShell. Controlla che nvm risponda, poi installa e attiva l'ultima LTS.

# Verificare che nvm-windows risponda
nvm env

# Installare e attivare l'ultima LTS
nvm install lts
nvm use lts

node -v
npm -v

nvm use cambia la versione predefinita, che resta valida nelle sessioni successive. Gli altri comandi sono descritti nella documentazione di nvm-windows.


Cambiare versione e aggiornare Node.js

nvm-windows tiene ogni versione nella propria cartella. Puoi provare la tua applicazione con un'altra versione senza disinstallare nulla.

# Installare altre versioni principali
nvm install 24
nvm install 22

# Passare a Node.js 24
nvm use 24

# Elencare le versioni installate (* = versione attiva)
nvm list

Per passare a una nuova LTS, installala, prova la tua applicazione e poi rimuovi la vecchia versione.

# Installare la nuova LTS e attivarla
nvm install lts
nvm use lts

# Rimuovere la vecchia versione quando tutto funziona
nvm uninstall 22

Prova la tua applicazione prima di cambiare versione in produzione. Alcuni pacchetti npm dipendono da una precisa versione principale di Node.js.

Con l'MSI o winget, aggiorni con winget upgrade o con l'MSI della nuova versione.


Distribuire un'applicazione Node.js su Windows Server

Una piccola applicazione Express verifica l'installazione dall'inizio alla fine. Crea la cartella del progetto, poi installa Express.

mkdir C:\apps\monapp
cd C:\apps\monapp
npm init -y
npm install express

Crea il file server.js e aprilo nel Blocco note.

New-Item server.js
notepad server.js

Incolla questo codice, salva e chiudi il Blocco note.

const express = require('express');
const app = express();
const PORT = 3000;

app.get('/', (req, res) => {
  res.send('Hello from OuiHeberg VPS!');
});

app.listen(PORT, () => {
  console.log(`Server avviato sulla porta ${PORT}`);
});

Avvia l'applicazione.

node server.js

In un browser sul VPS, apri http://localhost:3000. La pagina mostra questo messaggio.

Hello from OuiHeberg VPS!

Premi Ctrl+C per fermare l'applicazione. Avviata così, si ferma anche quando chiudi PowerShell.


Monitorare l'applicazione con PM2

PM2 riavvia un'applicazione Node.js che si blocca e raccoglie i suoi log. È software libero con licenza MIT. Il suo piano a pagamento, PM2 Plus, aggiunge un monitoraggio online di cui la maggior parte dei progetti fa a meno.

npm install -g pm2
pm2 start C:\apps\monapp\server.js --name "monapp"
ComandoEffetto
pm2 listElenca i processi
pm2 logs monappMostra i log in tempo reale
pm2 restart monappRiavvia l'applicazione
pm2 stop monappFerma l'applicazione
pm2 monitMostra CPU e memoria in tempo reale
pm2 delete monappRimuove l'applicazione da PM2

PM2 gira nella tua sessione di Windows. Il suo comando pm2 startup, che lo riavvia all'accensione, conosce solo i sistemi di avvio di Linux, macOS, BSD e Solaris, secondo la documentazione di PM2. Su Windows non funziona. Perché l'applicazione parta con il server, installala come servizio di Windows.


Avviare l'applicazione all'accensione con un servizio di Windows

Un servizio di Windows parte con il server, senza sessione aperta, e può riavviarsi dopo un crash. Node.js non sa registrarsi da solo come servizio. WinSW, uno strumento libero con licenza MIT, fa da ponte. Il servizio usa il Node.js dell'MSI o di winget, installato in C:\Program Files\nodejs.

Crea una cartella per il servizio e scarica WinSW con il nome monapp.exe. L'ultimo comando apre il file di configurazione nel Blocco note.

New-Item -ItemType Directory -Path C:\services\monapp
Invoke-WebRequest -Uri "https://github.com/winsw/winsw/releases/download/v2.12.0/WinSW-x64.exe" -OutFile "C:\services\monapp\monapp.exe"
notepad C:\services\monapp\monapp.xml

Incolla questa configurazione, poi salva. Il file XML ha lo stesso nome dell'eseguibile.

<service>
  <id>monapp</id>
  <name>monapp (Node.js)</name>
  <description>Node.js monapp</description>
  <executable>C:\Program Files\nodejs\node.exe</executable>
  <arguments>C:\apps\monapp\server.js</arguments>
  <workingdirectory>C:\apps\monapp</workingdirectory>
  <env name="NODE_ENV" value="production" />
  <startmode>Automatic</startmode>
  <onfailure action="restart" delay="10 sec" />
  <log mode="roll-by-size">
    <sizeThreshold>10240</sizeThreshold>
    <keepFiles>8</keepFiles>
  </log>
</service>

Il tag onfailure riavvia l'applicazione se si ferma. I log monapp.out.log e monapp.err.log vengono scritti nella cartella del servizio, con un nuovo file ogni 10 MB.

In PowerShell aperto come amministratore, installa e avvia il servizio.

# Liberare la porta se PM2 esegue già l'applicazione
pm2 delete monapp

cd C:\services\monapp
.\monapp.exe install
.\monapp.exe start
.\monapp.exe status
Get-Service monapp

status deve rispondere Started e Get-Service mostrare Running. Il servizio compare anche nella console Servizi, con avvio automatico. Riavvia il VPS per controllare che l'applicazione torni da sola.

# Dopo un aggiornamento del codice
.\monapp.exe restart

# Rimuovere il servizio
.\monapp.exe stop
.\monapp.exe uninstall

Di default WinSW esegue il servizio con l'account LocalSystem, che ha tutti i diritti sulla macchina. La sua documentazione spiega come scegliere un account con meno privilegi con il tag serviceaccount.


Configurare il firewall di Windows per Node.js

L'area clienti non ha un firewall di rete per i VPS. Solo il firewall di Windows filtra le connessioni. Apri le porte in PowerShell come amministratore.

# Porta 3000 (test)
New-NetFirewallRule -DisplayName "Node.js Dev" -Direction Inbound -Protocol TCP -LocalPort 3000 -Action Allow

# Porta 80 (HTTP)
New-NetFirewallRule -DisplayName "Node.js HTTP" -Direction Inbound -Protocol TCP -LocalPort 80 -Action Allow

# Porta 443 (HTTPS)
New-NetFirewallRule -DisplayName "Node.js HTTPS" -Direction Inbound -Protocol TCP -LocalPort 443 -Action Allow

Controlla poi le regole. Ognuna deve mostrare True nella colonna Enabled.

Get-NetFirewallRule -DisplayName "Node.js*" | Select Name, Enabled

Apri la porta 3000 solo durante i test. In produzione, metti un reverse proxy come IIS o Nginx sulle porte 80 e 443. Smista le richieste tra le tue applicazioni, ognuna sulla propria porta (3000, 3001, 3002…). La guida Come installare IIS su Windows Server descrive l'installazione di IIS. Per il resto del firewall, segui Come aprire una porta su un VPS Windows.


Risolvere gli errori frequenti

«node» non è riconosciuto

PowerShell non ha ancora letto il nuovo PATH. Chiudilo e riaprilo. Con nvm-windows, esegui anche nvm use lts.

«nvm» non è riconosciuto

Apri una nuova finestra di PowerShell. Se l'errore resta, reinstalla nvm-windows.

Errore EACCES o EPERM durante npm install -g

Riapri PowerShell come amministratore e ripeti il comando.

La porta 3000 è già in uso

Un altro processo occupa la porta, spesso una prima copia dell'applicazione. Trova il suo numero e fermalo.

netstat -ano | findstr :3000
taskkill /PID [PID] /F

Sostituisci [PID] con il numero mostrato nell'ultima colonna.

Il servizio non parte

Leggi monapp.err.log in C:\services\monapp. Controlla anche il percorso di node.exe nel file XML. Il servizio non vede un Node.js installato con nvm-windows.

Mancano moduli dopo un cambio di versione

Ogni versione di Node.js ha i propri moduli globali. Dopo nvm use, riesegui npm install nella cartella del progetto. Reinstalla anche PM2 se lo usi.


Hai bisogno di aiuto?

Apri un ticket da Ticket › Aprire un ticket, oppure dal riquadro Contatta il supporto in fondo alla scheda del VPS. Nel campo Servizio interessato, scegli il VPS per far risparmiare tempo al team. Puoi anche fare la tua domanda sul Discord di OuiHeberg.

Questo articolo ti è stato utile?

598 visualizzazioni
Condividi questo articolo
VPS Windows
Ti serve un VPS Windows?

Windows Server 2025 con licenza inclusa, Desktop remoto e gestione dall'area clienti.

Vedi le offerte →

Articoli correlati