Node.js

Questa guida contiene esempi di come impostare le seguenti applicazioni Node.js da distribuire sui servizi di Hosting di Applicazioni di Kinsta a partire da un repository GitHub:

Prerequisiti

  • I template di avvio rapido di Kinsta sono archiviati e gestiti su GitHub; pertanto, per accedervi è necessario un account GitHub.
  • Sarà anche necessario creare un account MyKinsta per distribuire l’applicazione.

Node.js

  1. Accedete a GitHub e create un nuovo repository da questo template (Use this template > Create a new repository): Kinsta – Hello World – Node.js.
  2. In MyKinsta, cliccate su Applicazioni > Aggiungi applicazione > selezionate GitHub, cliccate su Connetti provider git > Autorizza e accedete al vostro account GitHub.
  3. Scegliete il repository Hello World – Node.js e la posizione del data center. Lasciate tutte le altre impostazioni come predefinite e cliccate su Continua in ogni passaggio.
  4. Nella fase di riepilogo, cliccare su Distribuisci ora.

Durante la distribuzione, Kinsta rileva automaticamente il comando Start del processo web e installa le dipendenze definite nel file package.json. L’applicazione è disponibile non appena la distribuzione termina e la pagina di benvenuto di Kinsta viene caricata all’URL dell’applicazione.

Pagina di benvenuto di Kinsta dopo la distribuzione di Node.js.
Pagina di benvenuto di Kinsta dopo la distribuzione di Node.js.

Ecco la versione video:

Configurazione del server web

Porta

Kinsta imposta automaticamente la variabile d’ambiente PORT. Non è necessario definirla da soli o inserirla nell’applicazione. Usate process.env.PORT nel vostro codice quando vi riferite alla porta del server.

app.listen(process.env.PORT, () => {
console.log(`Hello World Application is running on port ${process.env.PORT}`)
})

Comando Start

Quando si distribuisce un’applicazione, Kinsta crea automaticamente un processo web con npm start come comando Start. Assicuratevi di utilizzare questo comando per eseguire il vostro server. Se volete utilizzare un comando diverso, dovrete modificare il processo web in MyKinsta.

"scripts": {
"start": "node server.js"
},

Variabili d’ambiente

Per impostazione predefinita, la variabile d’ambiente NODE_ENVnon è impostata su production per le applicazioni Node.js; dovete aggiungere questa variabile d’ambiente manualmente.

Ciclo di vita della distribuzione

Ogni volta che viene avviata una distribuzione (attraverso la creazione di un’applicazione o un nuovo distribuzione a causa di un commit in entrata), viene eseguito il comando npm build, seguito dal comando npm start.

Applicazione Node.js con un file Docker

  1. Accedete a GitHub e create un nuovo repository da questo template (Use this template > Create a new repository): Kinsta – Hello World – Dockerfile – Node.js.
  2. In MyKinsta, cliccate su Applicazioni > Aggiungi applicazione > selezionate GitHub, cliccate su Connetti provider git > Autorizza e accedete al vostro account GitHub.
  3. Scegliete il repository Hello World – Dockerfile – Node.js e la posizione del data center, lasciate tutte le altre impostazioni come predefinite e cliccate su Continua.
  4. Nella fase di build dell’ambiente, selezionate Usa Dockerfile per impostare un’immagine del container e cliccate su Continua > tutte le altre impostazioni possono rimanere come predefinite, cliccate su Continua > Distribuisci ora.

Il Dockerfile deve contenere il comando Start in una riga CMD o un’istruzione ENTRYPOINT. L’applicazione è disponibile non appena la distribuzione termina e viene caricata una pagina Hello World all’URL dell’applicazione.

Pagina Hello World di Node.js con Dockerfile dopo l'installazione.
Pagina Hello World di Node.js con Dockerfile dopo l’installazione.

Ciclo di vita della distribuzione

Quando si crea un’applicazione, Kinsta crea un processo a partire dall’istruzione CMD del file Docker:

CMD ["npm", "run", "start"]

Se modifica questo comando nel repository dopo aver distribuito l’applicazione, il processo non viene aggiornato automaticamente in MyKinsta, quindi dovrete modificare anche il comando Start nei processi dell’applicazione.

Applicazione Node.js per l’invio di email

Questo è un esempio di come configurare un’applicazione Node.js per l’invio di email tramite SendGrid sui servizi di Hosting di Applicazioni di Kinsta, distribuita da un repository GitHub.

Kinsta non supporta in modo nativo l’invio di email in uscita dai server. L’invio di email tramite provider specializzati in outbound come SendGrid o Mailchimp offre maggiore flessibilità e tassi di successo più elevati per le email transazionali e di campagna.

  1. Accedete a GitHub e create un nuovo repository da questo template (Use this template > Create a new repository): Kinsta – Hello World – Email Sending With Node.js.
  2. In MyKinsta, cliccate su Applicazioni > Aggiungi applicazione > selezionate GitHub, cliccate su Connetti provider git > Autorizza e accedete al vostro account GitHub.
  3. Scegliete il repository Hello World – Email Sending With Node.js e la posizione del data center. In Variabili d’ambiente, aggiungete quanto segue:
    • SENDGRID_API_KEY: la chiave API di SendGrid.
    • TEST_EMAIL_TO_ADDRESS: l’indirizzo a cui inviare l’email di prova.
    • TEST_EMAIL_FROM_ADDRESS: l’indirizzo da cui inviare l’email di prova.
    • TEST_ENDPOINT: l’endpoint che volete utilizzare come trigger per inviare l’email di prova. Usate una stringa casuale di almeno 8 caratteri.
  4. Lasciate tutte le altre impostazioni come predefinite e cliccate su Continua in ogni passaggio. Nel passaggio Riepilogo, cliccate su Distribuisci ora.

L’applicazione sarà disponibile non appena la distribuzione sarà terminata e verrà caricata una pagina Hello World all’URL dell’applicazione.

L'email di Node.js che invia la pagina Hello World dopo l'installazione.
L’email di Node.js che invia la pagina Hello World dopo l’installazione.

Attivare un’e-mail

Questo progetto non richiede una fase di build. Il comando Start esegue node server.js, che avvia un server Express con due endpoint:

  • /: una semplice pagina che restituisce il messaggio Hello World
  • /${TEST_ENDPOINT}: una pagina che attiva un’email di prova.

Per attivare un’email, trovate l’URL della distribuzione nella pagina delle Distribuzioni, aggiungete il vostro endpoint di test a questo URL e visitate la pagina. Ad esempio, se il vostro TEST_ENDPOINT è impostato su o34nifnodhni4of e la vostra ultima distribuzione si trova all’indirizzo https://example.kinsta.app, potete attivare un’email di prova da https://example.kinsta.app/o34nifnodhni4of nel vostro browser.

Se l’email di prova va a buon fine, viene visualizzato il messaggio “Email inviata”.

Messaggio di invio email di Node.js.
Messaggio di invio email di Node.js.

Verificandolo su SendGrid, otterrete un messaggio di successo.

Test dell'email ricevuta da SendGrid.
Test dell’email ricevuta da SendGrid.
Questo articolo ti è stato utile?