該方式支持的系統有:
- 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
pm2命令自帶生成開機啓動腳本的參數:
在命令行終端執行:
pm2 startup
如果是非root用戶,這時候會提示如下信息:
$ pm2 startup
[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>
這時候需要將給出的命令粘貼執行就可以了,不過不用sudo 只粘貼下面的就行:
su -c "env PATH=$PATH:/home/unitech/.nvm/versions/node/v4.3/bin pm2 startup <distribution> -u <user> --hp <home-path>
執行完之後,系統會自動在開機啓動腳本目錄生成啓動腳本(centos6的該腳本位於:/etc/init.d/pm2-xxxx,centos7的該腳本位於/usr/lib/systemd/system/下)
注意:當node.js版本更新後,需要如下執行:
pm2 unstartup 清楚掉開機啓動腳本
pm2 startup 重新生成
你也可以使用參數--service-name <name>開機啓動某個指定服務,
使用下面的命令保存當前pm2服務列表:
pm2 save
這會在$PM2_HOME/.pm2/dump.pm2文件中保存當前的pm2服務列表
通過命令: pm2 resurrect 可以從上面保存的服務文件中恢復pm2的服務。
禁用掉開機啓動腳本:
pm2 unstartup
更新啓動腳本
先執行:
pm2 unstartup
再執行:
pm2 startup
這樣就會更新pm2的開機啓動腳本。
如果你想以其他普通用戶來執行這個腳本,需要使用-u參數和--hp參數,
-u 參數指明你想要執行的用戶
--hp參數指明你安裝pm2的家目錄
如:pm2 startup ubuntu -u www --hp /home/ubuntu
上一條命令指明瞭以www用戶來執行,pm2的運行文件放在了/home/ubuntu下面