crontab
não funciona para mim no CentOS x86 6.5. O @reboot parece não estar funcionando.
Finalmente, consegui esta solução:
Editar: /etc/rc.local
sudo vi /etc/rc.local
Adicione esta linha ao final do arquivo. Mude USER_NAME
e PATH_TO_PROJECT
para o seu próprio país. NODE_ENV=production
significa que o aplicativo é executado no modo de produção. Você pode adicionar mais linhas se precisar executar mais de um aplicativo node.js.
su - USER_NAME -c "NODE_ENV=production /usr/local/bin/forever start /PATH_TO_PROJECT/app.js"
Não defina NODE_ENV
em uma linha separada, seu aplicativo continuará sendo executado no modo de desenvolvimento, porque sempre não é possível NODE_ENV
.
# WRONG!
su - USER_NAME -c "export NODE_ENV=production"
Salve e saia do vi (pressione ESC : w q return
). Você pode tentar reiniciar o servidor. Após a reinicialização do servidor, o aplicativo node.js. deve ser executado automaticamente, mesmo se você não fizer login em nenhuma conta remotamente via ssh.
É melhor definir o NODE_ENV
ambiente em seu shell. NODE_ENV
será definido automaticamente quando sua conta USER_NAME
fizer login.
echo export NODE_ENV=production >> ~/.bash_profile
Assim, você pode executar comandos como parar / iniciar para sempre /PATH_TO_PROJECT/app.js
via ssh sem configurar NODE_ENV
novamente.