node-js

使用PM2进程管理器,让nodejs程序开机自动启动

PM2是一个流行的Node.js进程管理器,可以帮助您管理和监控Node.js应用程序。
可以使用PM2将应用程序设置为开机自动启动。

1、首先安装PM2:npm install -g pm2
npm install pm2@latest -g

npm WARN deprecated uuid@3.4.0: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.

added 157 packages in 14s

12 packages are looking for funding
run npm fund for details

root@us:~# npm install -g pm2
npm WARN deprecated uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.

added 162 packages in 29s

14 packages are looking for funding
  run `npm fund` for details
npm notice 
npm notice New patch version of npm available! 10.5.0 -> 10.5.2
npm notice Changelog: https://github.com/npm/cli/releases/tag/v10.5.2
npm notice Run npm install -g npm@10.5.2 to update!
npm notice 
root@us:~# npm install -g npm@10.5.2

changed 55 packages in 4s

25 packages are looking for funding
  run `npm fund` for details

2、使用命令(pm2 examples)迅速看例子,启动应用程序并将其设置为开机自动启动:

# pm2 examples
[PM2] pm2 usage examples:
- Start and add a process to the pm2 process list:
  $ pm2 start app.js --name app
- Show the process list:
  $ pm2 ls
- Stop and delete a process from the pm2 process list:
  $ pm2 delete app
- Stop, start and restart a process from the process list:
  $ pm2 stop app
  $ pm2 start app
  $ pm2 restart app
- Clusterize an app to all CPU cores available:
  $ pm2 start -i max
- Update pm2 :
  $ npm install pm2 -g && pm2 update
- Install pm2 auto completion:
  $ pm2 completion install
Check the full documentation on https://pm2.keymetrics.io/

root@moneyslow.com:# netstat -anlp|grep 3000
tcp6 0 0 :::3000 :::* LISTEN 20778/node /root

3、使用pm2 save命令保存当前的进程列表,以便在系统重启后自动恢复。
pm2 save

[PM2] Saving current process list…
[PM2] Successfully saved in /root/.pm2/dump.pm2

如果需要有变更时自动重启的话,可以加入 –watch 选项。
假设你加了好几个服务的话,可以使用 pm2 list 或 pm2 ls 来查看这个列表。

开机自动执行 pm2
由於这是在 server 上管理,為了避免我们不小心重开机,或是 server 异常断电重开后服务没有跟著开起来,我们应该确保 pm2 可以在开机时自动重开,并执行我们设定的这些服务。
首先执行 pm2 startup 指令,设定开机自动啟动 pm2。
如果提示 To setup the Startup Script, copy/paste the following command:,记得把那行指令复製贴上执行一次。
接著执行 pm2 save 指令,让 pm2 记得我们设定了这些服务,下次啟动 pm2 的时候要自动执行这些东西。

重启服务器试试。