Mettere un sito Next.js su una VPS invece che su Vercel
Si può, e non è complicato: una riga nella configurazione (output: 'standalone') produce un pacchetto che gira con node server.js, senza installare niente sul server. Davanti ci va un reverse proxy che fa il certificato HTTPS da solo. Quello che perdi non è tecnico: è che gli aggiornamenti, i backup e i guasti diventano tuoi.
scritta il 19 settembre 2026 · si legge in 15 minuti
Vercel è comodissimo finché il sito è piccolo. Poi arrivano le visite, arriva la fattura, e viene la domanda: posso farmelo da solo? La risposta è sì, e qui trovi la procedura provata passo per passo — ma prima trovi la parte che nessuna guida racconta, cioè cosa smetti di avere quando smetti di pagare.
Parametri · tocca per copiare
- La riga da aggiungerein next.config.mjs
- Come si avvia sulla VPSniente npm install
- Cosa si copia
Quello che Vercel fa e che dovrai fare tu
Questa è la sezione più importante, e quasi nessuno la scrive. Vercel non è «un posto dove sta il sito»: è una decina di servizi messi insieme. Spostandosi su una VPS, ognuno diventa un lavoro tuo.
| Cosa | Su Vercel | Sulla tua VPS |
|---|---|---|
| Certificato HTTPS | automatico | il proxy lo fa, va impostato |
| Rete di distribuzione | in tutto il mondo | una macchina sola |
| Pubblicare una modifica | basta un push | uno script tuo |
| Tornare indietro | un clic | lo prepari tu |
| Aggiornamenti di sicurezza | loro | tuoi |
| Backup | loro | tuoi |
| Se il server si blocca | loro | tuo, alle tre di notte |
| Anteprima dei rami | automatica | non c'è |
| Statistiche | incluse | da installare |
| Costo | gratis fino a una soglia | da 4 € al mese |
Quando conviene spostarsi, e quando no
La risposta onesta dipende da tre cose: quanto traffico fai, quanto controllo ti serve, e quanto tempo hai.
- 1
Conviene spostarsi se…
Hai superato la soglia gratuita e la fattura cresce. Ti serve qualcosa che Vercel non fa: un database sulla stessa macchina, un programma che gira in sottofondo, cartelle di file che crescono. Vuoi che i dati restino in Europa per scelta. Ti diverte amministrare un server e lo faresti comunque.
- Costo fisso e prevedibile
- Puoi metterci altre cose sulla stessa macchina
- Nessun limite di funzioni o di banda imposto da altri
- 2
Non conviene se…
Il sito sta dentro il piano gratuito e ci resterà. Il traffico arriva da tutto il mondo e la velocità conta. Non hai voglia di ricevere un avviso alle tre di notte. È l'unico sito che gestisci e non hai un secondo posto dove provare le modifiche.
- Gli aggiornamenti di sicurezza diventano tuoi
- Un server solo è un punto di rottura solo
- I backup li devi fare e — soprattutto — provare
La riga che cambia tutto
Next.js ha una modalità pensata proprio per questo. Si aggiunge una riga in next.config.mjs:
output: 'standalone'
Da quel momento la costruzione produce, dentro .next/standalone, un pacchetto che contiene tutto quello che serve: il server, le dipendenze davvero usate, il codice del sito. Sulla VPS non serve installare niente — niente npm install, niente attesa, niente sorprese perché la versione di una libreria è cambiata fra il tuo computer e il server.
Sul sito che stai leggendo il pacchetto pesa 170 MB in tutto, comprese le immagini, e il server è pronto in meno di un secondo.
La procedura completa
Dall'inizio alla fine. Serve una VPS con Debian o Ubuntu e l'accesso SSH.
- Prepara la VPS. Aggiorna il sistema, crea un utente non amministratore per far girare il sito, e installa Node nella versione che usi sul tuo computer — la stessa, non una qualsiasi.
- Chiudi le porte. Lascia aperte solo la 22 (SSH), la 80 e la 443. Tutto il resto va chiuso: il sito parlerà con il proxy, non con il mondo.
- Costruisci sul tuo computer, non sul server: npm run build con output: 'standalone' attivo. Costruire sul server significa tenerci le dipendenze di sviluppo e il codice sorgente, che non servono.
- Copia le tre cartelle sulla VPS con rsync: .next/standalone, .next/static dentro una cartella .next, e public.
- Avvia il sito: node server.js, con la porta scelta in una variabile d'ambiente. Provalo subito con un curl sulla porta interna: se risponde, il difficile è finito.
- Fallo ripartire da solo. Un servizio di sistema (systemd) che lo riavvia se si ferma e lo riaccende al riavvio della macchina. È la parte che distingue una prova da un sito in produzione.
- Metti il proxy davanti (sezione dopo) e collega il dominio.
- Prova tutto prima di spostare il dominio: le pagine, le immagini, i reindirizzamenti vecchi, la mappa del sito. Il momento per scoprire un difetto è adesso, non quando il traffico è già lì.
Il reverse proxy e il certificato HTTPS
Il sito gira su una porta interna, per esempio la 3000. Davanti ci va un programma che riceve le richieste dal mondo, le passa al sito, e si occupa del certificato HTTPS.
Le due scelte sono Caddy e nginx. Per chi comincia, Caddy: prende il certificato da solo, lo rinnova da solo, e la configurazione è di tre righe invece di trenta. nginx è più diffuso e più configurabile, ma il certificato va impostato a parte.
Il proxy fa anche una cosa che migliora molto la velocità: serve i file statici direttamente — immagini, stili, codice — senza disturbare il programma del sito. Sono la maggior parte delle richieste.
- Installa Caddy dal repository ufficiale della tua distribuzione.
- Scrivi il file di configurazione: il tuo dominio, e reverse_proxy verso localhost e la porta del sito.
- Aggiungi una regola per i file statici con una scadenza lunga: i file di Next hanno il codice nel nome, quindi si possono tenere in memoria per un anno senza rischi.
- Riavvia Caddy. Il certificato arriva da solo in pochi secondi, se il dominio punta già alla VPS.
- Controlla che http rimandi a https: Caddy lo fa da solo, ma va verificato.
Come si pubblica un aggiornamento
Su Vercel basta un push. Sulla VPS serve uno script tuo, ed è meglio scriverlo il primo giorno che la decima volta a mano.
Lo schema che funziona: costruisci in locale, copia in una cartella nuova sulla VPS, e solo quando la copia è finita sposti il collegamento e riavvii. Così il sito è fermo un secondo invece che per tutta la durata della copia — e se qualcosa va storto, la cartella vecchia è ancora lì.
- npm run build sul tuo computer.
- rsync delle tre cartelle in /var/www/sito-.
- Sposta il collegamento /var/www/attuale sulla cartella nuova.
- systemctl restart del servizio del sito.
- curl sulla home per controllare che risponda: se no, rimetti il collegamento sulla cartella precedente e riavvia. È il ritorno indietro, e deve essere un comando solo.
- Tieni le ultime tre cartelle e cancella le più vecchie.
I cinque modi di sbagliare
Sono quelli che si vedono più spesso.
- Dimenticare .next/static. Il sito si apre senza grafica e sembra rotto. È l'errore numero uno.
- Avviarlo a mano senza un servizio di sistema. Funziona finché non chiudi il terminale.
- Costruire sul server. Ci lasci il codice sorgente e le dipendenze di sviluppo, e se la memoria della VPS è poca la costruzione fallisce a metà.
- Non fare i backup, o non provarli. Un backup mai ripristinato non è un backup: è un file di cui non sai niente.
- Non impostare nessun avviso. Se il sito cade e te ne accorgi da un messaggio di un lettore, hai perso una giornata di visite. Un controllo che chiama la home ogni cinque minuti e avvisa è mezz'ora di lavoro.
I prezzi citati in questa guida sono quelli letti sul listino ufficiale del fornitore il 19 settembre 2026. Cambiano senza preavviso e quasi tutti sono esposti IVA esclusa: controllali sul sito del fornitore prima di firmare.
Domande frequenti
Si può ospitare Next.js senza Vercel?
Sì, e senza modifiche al codice. Basta aggiungere output: 'standalone' in next.config.mjs: la costruzione produce un pacchetto che gira con node server.js, senza installare niente sul server.
Quanto costa una VPS per un sito?
Per un sito normale bastano 2 processori e 4 GB di memoria: si parte da circa 4-6 euro al mese. Il costo vero però non è quello: è la mezz'ora al mese di aggiornamenti e controlli, che su Vercel non esiste.
Cosa si perde passando da Vercel a una VPS?
La distribuzione mondiale dei contenuti, la pubblicazione automatica a ogni push, il ritorno indietro con un clic e le anteprime dei rami. Ma soprattutto: gli aggiornamenti di sicurezza, i backup e i guasti diventano tuoi. È quello il costo vero.
Serve Docker?
No. Con il pacchetto autonomo bastano Node e un reverse proxy. Docker aggiunge un livello che semplifica se gestisci più applicazioni sulla stessa macchina, e complica se ne hai una sola.
Meglio nginx o Caddy?
Caddy se cominci adesso: prende e rinnova il certificato HTTPS da solo, e la configurazione è di tre righe. nginx se devi fare cose particolari o se lo conosci già; il certificato lì va impostato a parte con Certbot.
Il sito va più veloce o più lento su una VPS?
Per un visitatore vicino alla VPS, uguale o più veloce. Per uno dall'altra parte del mondo, più lento: Vercel ha server sparsi ovunque, la tua VPS sta in un posto solo. Se il traffico è quasi tutto italiano, scegliendo un centro dati in Italia o in Germania non si nota.
Cosa succede se la VPS si spegne?
Il sito non c'è più finché non riparte, e nessuno te lo dice se non hai impostato un avviso. È la differenza più grossa rispetto a un servizio gestito, ed è il motivo per cui il controllo automatico e i backup provati non sono optional.
Posso tenere Vercel e provare la VPS in parallelo?
Sì, ed è la strada che consiglio. Metti il sito sulla VPS con un sottodominio di prova, provalo per qualche settimana, e sposta il dominio solo quando sei sicuro. Costa quattro euro e ti evita di scoprire i problemi con il traffico addosso.
Da dove vengono questi dati
Dati controllati il 19 settembre 2026.
- Next.js — documentazione sull'ospitare per conto proprio output standalone
- Caddy — documentazione ufficiale reverse proxy e certificati
- DEV Community — Deploy Next.js on a VPS: Git, Nginx, PM2 (2026) procedura con nginx
Questa guida l’ho scritta con l’aiuto dell’intelligenza artificiale e l’ho verificata sulle fonti qui sopra prima di pubblicarla. Come lavoro


