登录
正常一个node服务,在开发时会直接使用node <node服务文件路径>
启动,但启动后需要保持服务窗口存在,不能关闭,否则这个node服务也会关闭,所以这个方法只在本地开发时使用。
pm2的作用就是能够使node服务常驻,并提供一些新的功能,相当于把node服务托管给他。
市面上除了pm2,还有很多其他类似功能的工具,以下为现阶段比较主流的几款。
supervisor
:开发环境用。nodemon
:开发环境使用,修改自动重启。forever
:管理多个站点,每个站点访问量不大,不需要监控。pm2
:网站访问量比较大,需要完整的监控界面。其中最优秀的,自然就是pm2了。
功能 | 指令 | 备注 |
---|---|---|
初次启动 | pm2 start <服务文件路径> -n '<服务名称>' | -n 可以使用 --name 替换,意思为给服务设置别名 |
初次启动 npm 指令(初次执行需要再项目文件夹下执行) | pm2 -n '<服务名称>' start npm -- run start | pm2 -n '服务1' start npm -- run start |
再次启动 | pm2 start <服务ID> | |
重启某个服务 | pm2 restart <服务文件路径 | 服务ID> | |
重启所有服务 | pm2 restart all | |
重载某个服务 | pm2 reload <服务文件路径 | 服务ID> | |
重载所有服务 | pm2 reload all | |
停止某个服务 | pm2 stop <服务文件路径 | 服务ID> | |
停止所有服务 | pm2 stop all | |
永久删除某个服务 | pm2 delete <服务文件路径 | 服务ID> | |
永久删除所有服务 | pm2 delete all | |
查看所有的服务列表 | pm2 ls | |
查看所有的进程状态 | pm2 status | |
实时查看某个node服务中的打印信息 | pm2 logs <服务ID> | |
实时查看所有node服务中的打印信息 | pm2 logs | |
查看某一个进程的信息 | pm2 describe <服务文件路径 | 服务ID> | |
超过使用内存上限后自动重启(超过100M自动重启) | pm2 start big-array.js --max-memory-restart 100M |
官网下载,进行安装
验证是否安装完成的方式,输入以下命令,输出node版本号即可
node -v
使用npm进行全局安装
npm install pm2 -g
验证是否安装完成的方式,输入以下命令,能输出pm2版本号即可
pm2 -v
npm install
npm run build
pm2 start ./dist -n kline
pm2 ls