2014-04-17 2 views
1

J'ai créé une application NodeJS simple que j'ai maintenant déplacée vers un serveur dans AWS.Comment démarrer un processus NodeJS sur un serveur distant?

Je suis capable de ssh dans le serveur et de démarrer l'application, mais évidemment, dès que je ferme le terminal, le processus s'arrête. Comment démarrer mon application NodeJS et la faire fonctionner après avoir fermé mon terminal?

+1

Un duplicata de http://stackoverflow.com/questions/12701259/how-to-make-a-node-js-application-run-permanently – alandarev

+0

Merci! J'ai fait une recherche pour cette question, mais je ne pouvais pas en voir une existante. – michael

Répondre

2

Ce problème n'est pas spécifique à nodejs, bien qu'il existe des solutions spécifiques (par exemple, forever).

Une solution générique pour démarrer à distance n'importe quel programme sur Linux et ne pas le faire mourir lorsque vous fermez la session est de le lancer en utilisant nohup. Voici un exemple dans lequel je lance noeud et réoriente à la fois les sorties standard et l'erreur dans le fichier server.log:

nohup node main.js >> server.log 2>&1 < /dev/null & 
1

Comme Denys Seguret dit, cela peut être fait en utilisant le paquet nœud pour toujours. Voilà comment -

SSH sur votre serveur et installer pour toujours le monde comme racine utilisateur

sudo npm install forever --global

Pour exécuter toujours sur aa script noeud, execute dans le terminal alors que dans le même répertoire que vos server.js comme celui-ci -

forever start server.js

Assurez-vous de vérifier si son fonctionnement en lançant votre navigateur à l'adresse appropriée. Si vous voulez vérifier l'état de tous les scripts que vous avez pour toujours en cours d'exécution sur votre serveur (vous pouvez l'exécuter sur plusieurs scripts) exécuter cette commande -

forever list

et d'arrêter un script pour toujours, vous pouvez soit Exécuter forever stop qui va arrêter tous vos scripts pour toujours je crois, ou exécutez forever stop 0 où 0 est l'index de votre script dans la liste permanente.

J'utilise pour toujours sur toutes mes applications de gulp, n'ai pas eu de problèmes pour le moment, mais je ne pense pas avoir eu de gros problèmes de fermeture avec mon serveur distant. Peut-être que si cela arrive, j'aurai plus à dire sur la crédibilité de toujours. Quelques crédits pour cette réponse de cette website.

Questions connexes