Startup Script
PM2可以生成启动脚本和配置它们,为了保持你的进程列表中的进程可以重新启动运行在预期的或意外的机器重新启动。
确认你的pm2版本 > 2.2.x
Init systems supported
- systemd: Ubuntu >= 16, CentOS >= 7, Arch, Debian >= 7
- upstart: Ubuntu <= 14
- launchd: Darwin, MacOSx
- openrc: Gentoo Linux, Arch Linux
- rcd: FreeBSD
- systemv: Centos 6, Amazon Linux
Command
要获取机器的自动配置启动脚本,需要键入此命令:
# 检测可用的init系统,生成配置并启用启动系统
$ pm2 startup
您可以指定您自己使用的平台(平台可以是上面引用的其中一个):
$ pm2 startup [ubuntu | ubuntu14 | ubuntu12 | centos | centos6 | arch | oracle | amazon | macos | darwin | freesd | systemd | systemv | upstart | launchd | rcd | openrc]
此命令的输出可以是一行可以复制/粘贴的,对于所有环境变量和配置选项的建议。
[PM2] You have to run this command as root. Execute the following command:
sudo su -c "env PATH=$PATH:/home/unitech/.nvm/versions/node/v4.3/bin pm2 startup <distribution> -u <user> --hp <home-path>
你只需要复制/粘贴线PM2给你的脚本,启动脚本将在你的操作系统中配置。
注意:当更新Nodejs,PM2二进制路径可能会改变(必然如果使用NVM的变化)。因此,我们建议您在任何更新后运行启动命令。
Saving current processes
一旦启动了要管理的所有应用程序,可以通过此命令,保存app列表,应对预期/意外重启服务器:
$ pm2 save
它将保存各个想对应环境的进程到 $PM2_HOME/.pm2/dump.pm2.
Manually resurrect processes - 手动恢复进程
将进程恢复到上一次通过 npm save 保存的状态
$ pm2 resurrect
Disabling startup system - 禁用启动系统
$ pm2 unstartup
一行代码让PM2检测您的平台。或者您可以使用另一个指定的init系统自己使用:
$ pm2 unstartup [ubuntu | ubuntu14 | ubuntu12 | centos | centos6 | arch | oracle | amazon | macos | darwin | freesd | systemd | systemv | upstart | launchd | rcd | openrc]
User permissions
假设你希望启动脚本被另一个用户执行。
使用选项:-u <\username> 和 –hp <\user_home> : (没有\)
$ pm2 startup ubuntu -u www --hp /home/ubuntu
Window consideration
在windows下生成启动脚本,请参考 pm2-windows-service 或 pm2-windows-startup
Docker Integration
这里先不关心这块
Process Metrics
这里先不关心这块