Utiliser screen pour continuer à exécuter votre application Node après la fermeture de putty

Vous avez créé une application web servie par Node.js et souhaitez la tester sur la machine virtuelle d'un hébergeur node comme Digital Ocean ou Linode.
Vous vous connectez avec putty en SSH et lancez votre application (on part de l'hypothèse que votre appli node est dans server.js) :

node server.js  

Tout marche bien. Sauf que dès que vous quittez votre console putty, votre serveur web s'arrête. La solution tient en un mot : screen.

La commande linux "screen" vous permet de faire tourner votre application node.js en arrière plan, si bien que la fermeture de votre console putty ne fermera pas la console sur laquelle aura été lancée votre application node.

On commence par installer screen :

apt-get install screen  

Ou bien si vous n'êtes pas loggué en tant qu'administrateur : sudo apt-get install screen

Lancez une nouvelle console

screen  

Dans cette nouvelle console, lancez votre application node :

node server.js  

Détachez vous de cette nouvelle console en tapant ctrl a puis d :

ctrl a d  

Vous vous retrouvez sur votre première console, dont vous sortirez via exit :

exit  

La bonne nouvelle, c'est que votre application node continue à s'exécuter en arrière plan.

Plus tard, lors d'une nouvelle session putty, vous pourrez vous attacher de nouveau à votre console qui s'exécute en arrière plan via :

screen -r  

Alternativement, vous pouvez utiliser le package forever