Node.js come servizio permanente

Skip to main content
Du bist hier:
Drucken

Node.js come servizio permanente

Gestisci in Plesk un’applicazione Node.js che deve funzionare in modo permanente, ad esempio un tuo server, un bot o uno strumento di monitoraggio? Ci sono tre ostacoli tipici.

1. File di avvio invece di «Esegui script»

Se avvii un’applicazione permanente tramite «Esegui script» (ad esempio npm run start), il processo continua a girare con la versione di Node.js impostata al momento del clic. Se in seguito cambi versione, il processo in esecuzione non la adotta.

  • Inserisci invece in Plesk il file di avvio (Application Startup File) della tua applicazione Node.js, ad esempio server/server.js.
  • Scegli la versione di Node.js desiderata e fai clic su «Riavvia app».
  • In questo modo Plesk gestisce il processo e lo avvia sempre con la versione scelta.

Se è ancora in esecuzione un vecchio processo avviato con «Esegui script», va terminato una volta. Apri un ticket se non riesci a terminarlo da solo.

2. I WebSocket non funzionano

Per impostazione predefinita la tua applicazione funziona dietro un proxy che non inoltra le connessioni WebSocket. Molte applicazioni passano allora automaticamente a un altro tipo di connessione e funzionano comunque. Se la tua applicazione richiede obbligatoriamente i WebSocket (ad esempio l’editor di Node-RED), procedi così:

  • Apri le «Impostazioni Apache e nginx» del dominio o sottodominio interessato.
  • Nella sezione delle impostazioni nginx togli la spunta a «Modalità proxy» e salva.

Se la tua applicazione funziona anche senza WebSocket, lascia attiva la modalità proxy. Verifica sempre i WebSocket direttamente nell’applicazione, un semplice test con curl non mostra il problema in modo affidabile.

Ogni modifica a queste impostazioni riavvia l’applicazione. A seconda dell’applicazione, subito dopo può essere brevemente non raggiungibile.

3. L’applicazione non si avvia da sola dopo un riavvio

Plesk avvia un’applicazione Node.js solo alla prima richiesta del sito web, non automaticamente dopo un riavvio del server web. Per un servizio che deve funzionare sempre, crea in Plesk in «Attività pianificate» un’attività di tipo «Recupera un URL» che richiami l’indirizzo della tua applicazione ogni minuto. Così il servizio riparte automaticamente dopo ogni riavvio.

Related Post