Utilizzare Node.js con ISPConfig su un VPS

Procédure

Per eseguire un'applicazione Node.js sul vostro VPS con ISPConfig, dovete configurare Apache in reverse proxy verso la porta locale del vostro script. Node.js è un ambiente di esecuzione JavaScript lato server che consente di creare applicazioni web veloci e scalabili. Combinando un gestore di processi come PM2 e le direttive ISPConfig, garantite la persistenza del vostro servizio e la protezione tramite certificato SSL.

Le fasi

  1. Accedere alla gestione del vostro VPS

    Collegatevi al vostro spazio cliente, andate nella sezione Server poi cliccate su Gestisci di fronte alla vostra macchina VPS sotto ISPConfig.

    Utilizzare Node.js con ISPConfig su un VPS
  2. Aprire l'interfaccia ISPConfig

    Nella dashboard del vostro server, cliccate su Pannello di amministrazione per accedere alla console ISPConfig.

    Utilizzare Node.js con ISPConfig su un VPS
  3. Gestire la gestione e l'accesso root se necessario

    Se scegliete di installare Node.js globalmente per l'intero sistema invece che per l'account locale del sito, cliccate su Infogestione, selezionate l'opzione Server NON gestito da LWS e confermate con Convalida. LWS non gestisce più il server, il che sblocca le credenziali in Accesso ROOT SSH.

    Utilizzare Node.js con ISPConfig su un VPS
  4. Creare il sito web e attivare il certificato SSL

    In ISPConfig, aprite la scheda Siti, aggiungete il vostro dominio (per esempio « esempio.fr »), quindi selezionate le caselle SSL e Let's Encrypt SSL prima di salvare.

  5. Connettersi via SSH al server

    Aprite il vostro terminale ed effettuate la connessione SSH con il vostro account (utente del sito ISPConfig oppure utente root se la gestione è stata rimossa).

    Utilizzare Node.js con ISPConfig su un VPS
  6. Attivare i moduli proxy di Apache

    Per reindirizzare il traffico HTTP verso la vostra applicazione, attivate i moduli richiesti con il comando a2enmod proxy proxy_http poi riavviate Apache tramite systemctl restart apache2 (azione che richiede i diritti di amministrazione o già attiva a seconda del vostro piano).

  7. Installare Node.js LTS

    Installate Node.js in versione LTS sulla vostra sessione con nvm oppure dai repository della vostra distribuzione, quindi verificate la versione installata digitando il comando node -v.

  8. Creare l'applicazione Express minimale

    Posizionatevi nella directory del vostro sito web, inizializzate un progetto con npm init -y, installate il framework Express con npm install express e create un file server.js configurato per ascoltare sulla porta locale 3000.

  9. Avviare e rendere persistente l'applicazione con PM2

    PM2 è un gestore di processi per Node.js che consente di mantenere le applicazioni attive in continuazione e di riavviarle dopo un incidente. Installatelo con npm install -g pm2, avviate il vostro script tramite pm2 start server.js --name mon-app e salvate lo stato con pm2 save.

  10. Configurare il reverse proxy Apache in ISPConfig

    Un reverse proxy è un server intermedio che riceve le richieste web dei visitatori per trasferirle al server applicativo interno. In ISPConfig, modificate il vostro sito, andate nella scheda Opzioni, quindi aggiungete nel campo Direttive Apache : ProxyPreserveHost On seguito da ProxyPass / http://localhost:3000/ e ProxyPassReverse / http://localhost:3000/.

  11. Testare il funzionamento in HTTPS

    Aprite il vostro browser e inserite l'indirizzo del vostro sito (per esempio https://exemple.fr) per verificare la visualizzazione del vostro script Node.js protetto.

Metodi di installazione di Node.js sul vostro VPS

Sono possibili diversi approcci per integrare i pacchetti Node.js in base alle vostre esigenze di amministrazione e al mantenimento della vostra gestione.

  • Installazione tramite NVM (Node Version Manager) — Permette di installare e gestire più versioni di Node.js direttamente nella directory utente, senza privilegi root e senza modificare la gestione del VPS.
  • Installazione tramite il gestore di pacchetti APT di Debian — Installa una versione stabile globale per l'intero sistema operativo, richiedendo i diritti root e la disattivazione della gestione.

Domande frequenti

Perché il mio sito mostra un errore 502 o 503?

Un errore 502 Bad Gateway o 503 Service Unavailable indica che Apache non riesce a raggiungere Node.js sulla porta configurata. Verificate che la vostra applicazione sia effettivamente avviata sotto PM2 con il comando pm2 status e che stia ascoltando correttamente sulla porta 3000 in locale.

La gestione LWS è obbligatoria per far funzionare Node.js?

No. Il VPS ISPConfig è gestito per impostazione predefinita, il che garantisce la presa in carico del vostro server. Potete far funzionare Node.js senza root grazie a nvm sotto l'account shell del vostro sito. Se rimuovete la gestione per ottenere l'accesso root, gestite voi stessi l'amministrazione completa del server.

La mia applicazione Node.js si riavvia se il VPS viene riavviato?

Sì, a condizione di aver eseguito il comando pm2 startup poi pm2 save. PM2 riattiva automaticamente i vostri script all'avvio del sistema.

Posso far girare più applicazioni Node.js sullo stesso server?

Sì. Basta assegnare a ogni applicazione una porta locale diversa (per esempio 3000, 3001) e configurare le corrispondenti direttive Apache ProxyPass per ogni dominio in ISPConfig.

Bisogna aprire la porta della mia applicazione nel firewall?

No. L'applicazione Node.js ascolta solo sull'indirizzo locale (203.0.113.10 o localhost). È il server Apache che riceve le connessioni web sicure sulle porte standard 80 e 443 per reindirizzarle internamente.

Link utili

help.lws.net/a/7952
Questo articolo ti è stato utile?

Sì

No

Letto 3 volte

Grazie! Non esitare a porre domande sulla nostra documentazione se desideri maggiori informazioni e aiutarci a migliorarla.

Articoli simili

Una domanda su questo articolo?

Ponila al team LWS e alla community. La risposta viene pubblicata dopo la moderazione.

Fate una domanda al team LWS e alla sua comunità

GDPR: Titolare: LWS-Ligne Web Services. Finalità: moderazione e pubblicazione della tua domanda, eventuale notifica di una risposta. Base giuridica: consenso (art. 6.1.a GDPR). Conservazione delle e-mail: 90 giorni dopo la notifica, massimo 12 mesi senza risposta. Per esercitare i tuoi diritti, consulta la sezione GDPR delle nostre condizioni generali.