crontabne fonctionne pas pour moi sur CentOS x86 6.5. @reboot semble ne pas fonctionner.
Enfin, j'ai eu cette solution:
Éditer: /etc/rc.local
sudo vi /etc/rc.local
Ajoutez cette ligne à la fin du fichier. Changez USER_NAMEet PATH_TO_PROJECTfaites votre propre. NODE_ENV=productionsignifie que l'application s'exécute en mode production. Vous pouvez ajouter plus de lignes si vous devez exécuter plusieurs applications node.js.
su - USER_NAME -c "NODE_ENV=production /usr/local/bin/forever start /PATH_TO_PROJECT/app.js"
Ne définissez pas NODE_ENVdans une ligne distincte, votre application fonctionnera toujours en mode de développement, car pour toujours ne pas obtenir NODE_ENV.
# WRONG!
su - USER_NAME -c "export NODE_ENV=production"
Enregistrez et quittez vi (appuyez sur ESC : w q return). Vous pouvez essayer de redémarrer votre serveur. Après le redémarrage de votre serveur, votre application node.js devrait s'exécuter automatiquement, même si vous ne vous connectez à aucun compte à distance via ssh.
Vous feriez mieux de définir l' NODE_ENVenvironnement dans votre shell. NODE_ENVsera défini automatiquement lorsque votre compte se USER_NAMEconnectera.
echo export NODE_ENV=production >> ~/.bash_profile
Ainsi, vous pouvez exécuter des commandes comme pour toujours stop / start /PATH_TO_PROJECT/app.jsvia ssh sans configurer à NODE_ENVnouveau.