crontab
ne 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_NAME
et PATH_TO_PROJECT
faites votre propre. NODE_ENV=production
signifie 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_ENV
dans 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_ENV
environnement dans votre shell. NODE_ENV
sera défini automatiquement lorsque votre compte se USER_NAME
connectera.
echo export NODE_ENV=production >> ~/.bash_profile
Ainsi, vous pouvez exécuter des commandes comme pour toujours stop / start /PATH_TO_PROJECT/app.js
via ssh sans configurer à NODE_ENV
nouveau.