Per quanto ho capito, un server Node.js è fondamentalmente un file JavaScript, eseguito dall'eseguibile node
. È possibile aggiornare questo file senza interrompere la gestione delle richieste?Come aggiornare i server Node.js in esecuzione?
Suppongo che il nodo eseguibile debba essere arrestato per questo, quindi penso che dovrei usare un proxy inverso. Per esempio:
- versione del server originale in ascolto su localhost: 50001
- Proxy server ascolta le richieste su interfaccia web: 80 e li inoltra al localhost: 50001
- nuova versione del server deve essere avviato su localhost: 50002
- Proxy destinazione della deviazione di server dovrebbe essere cambiato in localhost: 50002
- versione del server originale deve essere interrotto
È un approccio valido? Come può un tale aggiornamento della versione essere eseguito automaticamente su più macchine server (accessibili dalla stessa LAN)?
io uso https://github.com/isaacs/node-supervisor per le finestre, monitora i cambiamenti dei file e riavviare stesso. Su Linux, uso https://github.com/nodejitsu/forever. – Dev
Entrambi gli strumenti sono ottimi, ma non aiutano a impedire il riavvio del server. –