Назад | Перейти на главную страницу

Как запустить приложение узла на инстансе 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 дня, пытаясь навсегда перезапустить мое приложение при перезагрузке?

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