0

So I have Node/Express app running on an Amazon Linux Ec2 instance (VPC). The path to my node app is as follows /home/ec2-user/server/server.js

If I run which forever I get

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

If I run the following command the node app starts and works.

forever start server.js

If I reboot the server or stop/start then server.js will not run. I have to run forever start server.js from the terminal.

I tried the following ways to get my app to restart with forever and it will NOT restart.

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 

None of these works and I have spent 3 days trying to get forever to restart my app on reboot?

jdog
  • 1
  • 1
  • Why are you trying to use forever instead of just a normal systemd unit? – Michael Hampton Jan 09 '18 at 18:09
  • Forever is used for node applications. I have also tried pm2 but it also only works if I manually run the command. – jdog Jan 09 '18 at 21:05
  • I know what forever and pm2 are. They're generally not necessary on modern systems unless you're deploying into a Docker container though. – Michael Hampton Jan 09 '18 at 21:32
  • Either way the issue I believe is that where I put the call, any call to start the app it doesn’t seem to find the path. I have tried ../ ./ ~/ and local. Not sure if is a permissions issue or what? – jdog Jan 10 '18 at 00:02

1 Answers1

0

In your rc.local use the absolute path to the server.js and the forever binary. Also make sure the rc.local is executable, chmod 755 rc.local

strongjz
  • 832
  • 4
  • 7