文章目录
PM2是node进程管理工具,可以利用它来简化很多node应用管理的繁琐任务,如性能监控、自动重启、负载均衡等,而且使用非常简单。
- 转载自博客园
- 下面就对PM2进行入门性的介绍,基本涵盖了PM2的常用的功能和配置。
一、安装
全局安装,简直不能更简单。
$ npm install -g pm2
1.1 目录介绍
pm2安装好后,会自动创建下面目录。看文件名基本就知道干嘛的了,就不翻译了。
$HOME/.pm2
will contain all PM2 related files$HOME/.pm2/logs
will contain all applications logs$HOME/.pm2/pids
will contain all applications pids$HOME/.pm2/pm2.log
PM2 logs$HOME/.pm2/pm2.pid
PM2 pid$HOME/.pm2/rpc.sock
Socket file for remote commands$HOME/.pm2/pub.sock
Socket file for publishable events$HOME/.pm2/conf.js
PM2 Configuration
1.2 入门教程
挑我们最爱的express应用来举例。一般我们都是通过
npm start
启动应用,其实就是调用node ./bin/www
。那么,换成pm2就是
- 注意,这里用了
--watch
参数,意味着当你的express应用代码发生变化时,pm2会帮你重启服务,多贴心。
pm2 start ./bin/www --watch
- 入门太简单了,没什么好讲的。直接上官方文档:http://pm2.keymetrics.io/docs/usage/quick-start
二、常用命令
- 启动
参数说明: --watch
:监听应用目录的变化,一旦发生变化,自动重启。如果要精确监听、不见听的目录,最好通过配置文件。-i --instances
:启用多少个实例,可用于负载均衡。如果-i 0或者-i max,则根据当前机器核数确定实例数目。--ignore-watch
:排除监听的目录/文件,可以是特定的文件名,也可以是正则。比如–ignore-watch=“test node_modules “some scripts””-n --name
:应用的名称。查看应用信息的时候可以用到。-o --output <path>
:标准输出日志文件的路径。-e --error <path>
:错误输出日志文件的路径。--interpreter <interpreter>
:the interpreter pm2 should use for executing app (bash, python…)。比如你用的coffee script来编写应用。
完整命令行参数列表:地址
- 启动服务
pm2 start app.js --watch -i 2 # 启动app.js应用
pm2 start app.sh # 脚本启动
pm2 start app.js --nam demo # 启动应用并设计name
- 重启
pm2 restart app.js
- 停止服务:停止特定的应用。可以先通过
pm2 list
获取应用的名字(–name指定的)或者进程id。
pm2 stop all # 停止所有应用
pm2 stop [AppName] # 根据应用名停止应用
pm2 stop [ID] # 根据应用id停止应用
- 删除应用
pm2 delete all # 关闭并删除应用
pm2 delete [AppName] # 根据应用名关闭并删除应用
pm2 delete [ID] # 根据应用ID关闭应用并删除
- 查看进程状态
pm2 list
- 创建开机自启动
pm2 startup
- 更新PM2
pm2 updatePM2
pm2 update
- 日志查看
pm2 logs # 查看所有应用
pm2 logs [Name] # 根据应用名查看日志
pm2 logs [ID] # 根据应用ID查看日志
- 保存当前应用列表
pm2 save
- 0秒停机重新加载