crontabfunktioniert bei mir unter CentOS x86 6.5 nicht. @reboot scheint nicht zu funktionieren.
Endlich habe ich diese Lösung:
Bearbeiten: /etc/rc.local
sudo vi /etc/rc.local
Fügen Sie diese Zeile am Ende der Datei hinzu. Ändern Sie USER_NAMEund PATH_TO_PROJECTzu Ihren eigenen. NODE_ENV=productionbedeutet, dass die App im Produktionsmodus ausgeführt wird. Sie können weitere Zeilen hinzufügen, wenn Sie mehr als eine node.js-App ausführen müssen.
su - USER_NAME -c "NODE_ENV=production /usr/local/bin/forever start /PATH_TO_PROJECT/app.js"
Nicht NODE_ENVin einer separaten Zeile festlegen , Ihre App wird weiterhin im Entwicklungsmodus ausgeführt, da dies für immer nicht möglich ist NODE_ENV.
# WRONG!
su - USER_NAME -c "export NODE_ENV=production"
Speichern und beenden Sie vi (drücken Sie ESC : w q return ). Sie können versuchen, Ihren Server neu zu starten. Nach dem Neustart Ihres Servers sollte Ihre node.js-App automatisch ausgeführt werden, auch wenn Sie sich nicht über ssh remote bei einem Konto anmelden.
Sie sollten die NODE_ENVUmgebung besser in Ihre Shell einfügen. NODE_ENVwird automatisch festgelegt, wenn sich Ihr Konto USER_NAMEanmeldet.
echo export NODE_ENV=production >> ~/.bash_profile
So können Sie Befehle wie für immer stoppen / starten /PATH_TO_PROJECT/app.jsüber ssh ausführen, ohne sie NODE_ENVerneut einzustellen .