Script de démarrage pour l'application node.js
Je vais avoir des problèmes lors du démarrage d'un Parvenu script.
Voici le script (app.conf dans /etc/init/)
description "node.js server"
author "kvz"
start on startup
stop on shutdown
script
# We found $HOME is needed. Without it, we ran into problems
export HOME="/root"
exec sudo -u /usr/local/bin/node \
/var/www/vhosts/travelseguro.com/node/app.js \
2>&1 >> /var/log/node.log
end script
Quand je lance sudo start app
j'obtiens:
début: Inconnu d'emploi: application
Comment puis-je faire ce travail?
source d'informationauteur Ivan Bravo Carlos
Vous devez vous connecter pour publier un commentaire.
J'ai eu le même problème en cours d'exécution sur les dernières Amazon (AWS) linux, qui est basé sur Redhat.
J'ai mon parvenu fichier dans
/etc/init
appelénode.conf
et quand j'ai courusudo start node
je voudrais obtenir une erreur similaire à vousstart: Unknown job: node
.Il s'avère que le travail ne démarre pas si il y a une erreur dans votre
.conf
fichier. J'ai donc commencé par commenter toutes les lignes et petit à petit jusqu'à trouver l'erreur. Le message d'erreur n'est pas très clair et le fait ressembler à arriviste ne trouvez pas votre fichier conf.D'un étalement de votre '/var/log/messages' va vous aider à déboguer comme Upstart les journaux de là-bas (Il est peut-être quelque part sur Ubuntu. Le mien a dit
init: /etc/init/node-upstart.conf:8: Unknown stanza
qui m'a aidé à obtenir au fond des choses. Dans mon cas particulier, j'ai été de déclarer des variables de manière incorrecte.Voir sur AskUbuntu pour un fil similaire.
Voici mon édité de travail script:
-- Modifier 2013-06-01 --
Si vous êtes sur Centos ou Amazon Linux comme moi, jetez un oeil à ce init.d script.
-- Modifier 2013-10-14 --
Voici un lien vers un résumé de l'init.d script que j'utilise en production sur Amazon Linux(Redhat). Simplement, je le garde dans mon projet sous un
init.d
dossier, puis faire un lien symbolique pour elle dans le/etc/init.d
dossier et c'est maintenant un démon/service!-- Modifier 2014-06-05 --
Découvrez cette impressionnante blog artcile par Jeff Dickey sur Node.js de la production à l'aide de systemd qui est beaucoup plus propre et plus facile que de toutes les choses que nous avons fait ici (à mon humble avis). Il utilise également Ansible pour contrôler son cluster (j'adore), mais vous n'avez pas à aller loin si vous n'êtes pas prêt.
Après quelques tentatives, j'ai mis en place de travail .fichier conf pour arriviste qui fonctionne comme un service de démarrage automatique après le redémarrage et redémarrer (respawn) en cas de plantage. Il peut aussi démarrer mon application avec un utilisateur non privilégié des autorisations. Le nom du fichier est /etc/init/my-app.conf.
Pour démarrer /arrêter le service, veuillez utiliser
Si vous avez une erreur de ce type
exec la commande suivante
Mon /etc/init/my-app.fichier conf:
Je ne le recommande à décommenter respawn après, vous vous assurez que tout fonctionne ok.
Mise à JOUR
J'ai amélioré mon script (veuillez garder à l'esprit qu'il fonctionne pas sous root, mais en vertu de l'utilisateur régulier zn ):