Как заставить приложение узла работать на экземпляре 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