快速入门

这个教程会展示如何使用PM2快速配置Node.js应用。

安装

使用yarn安装:

yarn global add pm2

使用yarn安装:

yarn global add pm2

debian系统下,使用安装脚本:

apt update && apt install sudo curl && curl -sL https://raw.githubusercontent.com/Unitech/pm2/master/packager/setup.deb.sh | sudo -E bash -

使用docker安装, 参考这个文档

使用 CLI 自动完成安装

pm2 completion install

管理多个进程

PM2了一份你的进程列表,可以方便的启动,重启和停止这些进程。

你的所有应用都是后台运行,使用PM2命令行与应用交互。

进程列表

使用startdelete命令添加删除列表中的进程:

# start and add a process to your list
pm2 start app.js

# show your list
pm2 ls

# stop and delete a process from the list
pm2 delete app

注意,进程的名字默认是文件名。(例如: app 对应 app.js). 可以使用 --name-n 来更改进程名字。

常规

在进程列表中,使用进程名与应用程序交互。

# stop the process (kill the process but keep it in the process list)
pm2 stop app

# start the process
pm2 start app

# both stop and start
pm2 restart app

你也可以配置一个启动脚本,以便在机器在重启时自动重启你的进程列表。

查看应用日志

使用命令pm2 logs <app name>查看实时日志。 在~/.pm2/logs目录中查看日志历史文件。

集群化

群集模式可以最大化的利用你的CPU,根据CPU核数扩展应用,不需要修改任何代码。

在使用负载均衡之前,确保你的应用是无状态的,意味着不要再进程中保存任何状态有关的数据。(比如WebSocket连接,session或者相关的数据)

启动集群模式,使用-i参数指定要启动的集群数量:

pm2 start app.js -i 4

或者自动检测可用的CPU的数量:

pm2 start app.js -i max

使用reload代替restart实现无中断重载应用:

pm2 reload app

更多 CLI 命令

使用制表符自动完成并发现新的命令:

PM2 autocomplete

更多命令,使用--help参数:

PM2 autocomplete

下一步

使用指南