How to use pm2 startup command on Debian platform?

2019-05-29 20:36发布

问题:

Here is the link to the documentation on GitHub: https://github.com/Unitech/pm2#startup-script-generation--pm2-startup

It is setup to work with Ubuntu/CentOS/Redhat. I need it to work with my Dreamhost VPS which is a Debian machine.

Can someone advise me on how I might tweak the init script to make it work on a Debian box? Thanks!!

回答1:

Try ubuntu solution. Since ubuntu is a debian fork, it should work there.



回答2:

If your vps is running the Jessie release (>8) then Jessie uses systemd not init.d (as ubuntu and older releases of debian do). Thus using the default ubuntu pm2 startup script won't work.

So if this is your case then all I did for this to work on my Jessie VM was

$ pm2 startup systemd

then pm2 start the node apps I want to start at bootup.

then

$ pm2 save

then give it a try.

$ shutdown -r now

of course do these from root

more details here. http://pm2.keymetrics.io/docs/usage/startup/



回答3:

as the output suggests, you have to execute it as sudo:

sudo pm2 startup ubuntu


回答4:

You can just add a cronjob like:

@reboot cd /path/to/app && pm2 start app.js

Remember to install the cron in the user that will run the daemon, NOT ROOT.

If you user can't install the cron, just install the cron where you prefer and add the parameter -u to specify the daemon runner user.