Distribuisci Next.js
Distribuisci un’app Next.js esistente come processo Node.js persistente. Pagine statiche, route renderizzate sul server e route API possono essere pubblicate nella stessa applicazione.
Usa pagina di distribuzione Next.js per valutare l’idoneità alla produzione, i prezzi, i modelli e le verifiche delle versioni prima di seguire i passaggi di implementazione qui sotto.
Parti da una cartella vuota? Segui il tutorial completo di compilazione e distribuzione Next.js, oppure usa il Workflow di sviluppo di un’app con l’assistenza dell’IA per Codex, ChatGPT, Gemini, e Claude.
Prerequisiti
- Un progetto Next.js che si installa e compila da un checkout pulito
- Uno script di avvio per la produzione, come
next start - Il CLI Adios installato e autenticato
1. Aggiungi una route di stato
Per un progetto App Router, aggiungi app/api/health/route.js:
export function GET() {
return Response.json({ status: "ok" });
}
La route deve restituire una risposta riuscita quando l’applicazione è pronta a ricevere traffico. Se dipende da un database o da un altro servizio necessario, decidi se la risposta sullo stato debba verificare anche quella dipendenza.
2. Configura l’ambiente di esecuzione
Crea adios.yaml nella radice del progetto:
name: my-nextjs-app
region: de
replicas: 1
build_cmd: npm ci && npm run build
start_cmd: npm start
runtime:
name: node@24
port: 3000
health_path: /api/health
memory_mb: 1024
Mantieni il gestore di pacchetti e il lockfile già usati dal tuo progetto. Per pnpm, sostituisci i campi dei comandi con i comandi pnpm equivalenti:
build_cmd: pnpm install --frozen-lockfile && pnpm build
start_cmd: pnpm start
Adatta versione Node.js, porta, memoria, regione e percorso di stato all’applicazione. Consulta il riferimento del manifest per ogni campo supportato.
Scegli il tuo compilatore
Adios esegue il comando di compilazione del tuo progetto. Puoi usare webpack o Turbopack. Per i progetti Next.js compatibili, consigliamo di provare Turbopack per ridurre i tempi di compilazione. Selezionalo nel package.json:
{
"scripts": {
"build": "next build --turbopack"
}
}
Mantieni next build --webpack se la tua applicazione dipende da plugin o configurazioni webpack. Controlla Compatibilità Next.js e verifica pagine, route API e risorse generate prima del passaggio.
Se distribuisci .next/standalone/server.js, mantieni output: "standalone" nella configurazione Next.js. Il tracciamento delle dipendenze identifica i file necessari a quel pacchetto server; Turbopack continua a produrre tali dipendenze tramite il proprio processo di compilazione. Rimuovere l’output standalone non disabilita automaticamente il tracciamento di Next.js e richiede un pacchetto di distribuzione diverso.
3. Aggiungi configurazione e segreti
La configurazione pubblica dell’ambiente di esecuzione può essere dichiarata nel manifest. Mantieni i valori sensibili fuori da Git e usa riferimenti ai loro nomi:
env:
NEXT_PUBLIC_APP_URL: https://app.example.com
DATABASE_URL: secret://DATABASE_URL
AUTH_SECRET: secret://AUTH_SECRET
Crea i valori dei segreti indicati con la CLI o l’IDE web prima che l’app ne abbia bisogno durante l’esecuzione.
4. Distribuisci
Esegui la distribuzione dalla directory principale del progetto:
adios up
Adios carica il codice sorgente attuale, esegue il comando di compilazione, avvia il processo di produzione, controlla /api/health, e promuove la versione dopo che risulta operativa. La distribuzione restituisce una route HTTPS generata.
5. Esamina e verifica
Distingui l’output della compilazione da quello del processo in esecuzione:
adios logs --build
adios logs --runtime
Apri la route generata e verifica una pagina statica, una pagina renderizzata sul server e tutte le route API da cui dipende l’applicazione. Se la compilazione o il controllo di stato fallisce, consulta il flusso di log pertinente prima di distribuire la versione successiva.
Domini personalizzati
Quando la route generata funziona, collega e verifica il nome host di produzione. Adios gestisce TLS per il dominio verificato e lo mantiene collegato alla versione promossa. Segui Domini e reindirizzamenti per l’ordine delle operazioni DNS e di verifica.
Inizia da un modello
Se non hai un repository esistente, scegli uno starter Next.js ufficiale JavaScript o TypeScript con npm o pnpm nel catalogo dei modelli.