最常见的 pm2 指令
PM2
是node
进程管理工具,可以利用它来简化很多node
应用管理的繁琐任务,如性能监控、自动重启、负载均衡等,而且使用非常简单。
基础指令
全局安装
1
npm install -g pm2
启动
1
pm2 start app.js
-i --instance
: 创建进程实例,可用于负载均衡。-n --name
: 指定启动实例的应用名称。-o --output <path>
: 输出标准日志路径。-e --error <path>
: 输出错误日志路径。--watch
: 监听应用目录的变化,一旦发生变化,自动重启。如果要精确监听、不见听的目录,最好通过配置文件。--ignore-watch
: 排除监听的目录/文件,可以是特定的文件名,也可以是正则。比如–ignore-watch=”test node_modules “some scripts””
重新启动
1
pm2 restart app.js
查看所有进程信息
1
2
3pm2 status
pm2 list
pm2 ls查看某个进程信息
1
pm2 describe <NAME | ID>
停止
1
2pm2 stop all // 关闭所有 pm2 应用
pm2 stop <NAME | ID> // 关闭指定 pm2 应用删除
1
2pm2 delete all // 删除所有 pm2 进程
pm2 delete <NAME | ID> // 删除指定 pm2 进程
负载均衡
PM2 支持集群和负载均衡,可以帮助将传入的请求分布到应用程序的多个实例,从而提高性能和可靠性。
当使用 PM2 的集群模式时,它将生成多个应用程序实例(工作进程),每个实例处理部分传入的请求。PM2 使用的负载均衡策略是轮询,意味着每个新的传入请求都会分配给下一个可用的工作进程,按照循环顺序。
创建进程
1
2pm2 start app.js -i max // 创建与计算机上可用的CPU核心数量相同的工作进程
pm2 start app.js -i 1 // 仅创建1个进程
实时日志
查看日志
1
2pm2 logs // 查看所有进程日志
pm2 logs <NAME | ID> // 查看指定应用|进程ID的日志
监控
查看 pm2 运行的进程状态
1
pm2 monit
开机自动启动
保存当前进程状态
1
pm2 save
执行以下命令,配置开机自动启动。在执行此命令后,将会显示一些说明,根据你的系统提示执行相应的命令:
1
pm2 startup
例如,对于 Ubuntu 系统,你可能会看到如下提示:
1
2[PM2] You have to run this command as root. Execute the following command:
sudo su -c "env PATH=$PATH:/usr/bin pm2 startup systemd -u <username> --hp <home-path>"请按照提示中的命令执行。
执行生成的命令。此命令会创建一个服务(service)以确保在系统启动时 PM2 也会启动。
例如,在 Ubuntu 上,可能执行的命令类似于:
1
sudo su -c "env PATH=$PATH:/usr/bin pm2 startup systemd -u <username> --hp <home-path>"
注意:请替换
和 为你的实际用户名和主目录路径。 重启系统以应用配置。
现在,当系统启动时,PM2 将自动启动,并确保你的应用程序也会启动。具体见 PM2 Startup Script
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Erebus's Blog!
评论