Как заставить приложение узла работать на экземпляре Amazon EC2 для запуска при перезагрузке?

Итак, у меня есть приложение Node/Express, работающее на экземпляре Amazon Linux Ec2 (VPC). Путь к моему приложению узла выглядит следующим образом /home/ec2-user/server/server.js

Если я бегу which forever я получил

~/.nvm/versions/node/v6.11.5/bin/forever

Если я запускаю следующую команду, приложение узла запускается и работает.

forever start server.js

Если я перезагружаю сервер или останавливаю / запускаю, то server.js не запускается. Я должен всегда запускать server.js из терминала.

Я попробовал следующие способы перезапустить мое приложение навсегда, и оно НЕ будет перезагружено.

rc.local

forever start ../home/ec2-user/server/server.js

./.nvm/versions/node/v6.11.5/bin/forever start ../home/ec2-user/server/server.js

/init/kue.conf

description "start kue server"

start on filesystem and started networking
stop on shutdown

script
  touch /var/log/forever.log
  touch /var/log/stat_out.log
  touch /var/log/stat_err.log
  rm /var/log/forever.log
  rm /var/log/stat_out.log
  rm /var/log/stat_err.log
  forever start -l /var/log/forever.log -o /var/log/stat_out.log -e /var/log/stat_err.log /home/ubuntu/code/StatKue/server.js
end script

crontab -e

forever start /server/server.js 

Ни одна из этих работ, и я потратил 3 дня, пытаясь перезапустить мое приложение навсегда при перезагрузке?

1 ответ

В вашем rc.local используйте абсолютный путь к server.js и навсегда двоичный файл. Также убедитесь, что rc.local является исполняемым, chmod 755 rc.local

Другие вопросы по тегам