安装
- $ npm install pm2@latest -g
- # or
- $ yarn global add pm2
常见命令方式
查看
- $ pm2 list                                    # 列出所有进程/应用
- $ pm2 describe [name/ID]        # 查看某个进程/应用的具体情况
- $ pm2 monit                                    # 查看进程/应用的资源消耗情况
- $ pm2 logs                                    # 查看pm2的日志
- $ pm2 logs [name/ID]                # 若要查看具体进程/应用的日志
- $ pm2 show [name/ID]                # 显示进程/应用所有信息
启动
- $ pm2 start bin/www                                # 启动bin/www应用
- $ pm2 start app.js                                # 启动app.js应用并设置name
- $ pm2 start app.sh                                # 脚本启动
- $ pm2 start app.js --name [name]     # 重命名进程/应用
- $ pm2 start app.js --watch        # 添加进程/应用 watch,当文件发生变化,自动重启
- $ pm2 reload app.js                        # hieves a 0-second-downtime reload - 0秒停机重新加载
- $ pm2 gracefulReload all            # 群集模式重新加载所有应用程序
- $ pm2 restart app.js                    # 启动进程/应用,同时杀死并重启所有进程。生成环境推荐使用reload
停止/结束
- $ pm2 stop [name/ID]        # 停止应用
- $ pm2 stop all                    # 停止应用 all
删除
- $ pm2 delete [name/ID]        # 删除进程/应用
- $ pm2 delete all                    # 删除进程 all
更新PM2
- $ npm install pm2@latest -g
- $ pm2 update
pm2.conf.json
- {
-   "apps": {
-     "name": "ws",                                                                                // 应用名
-     "script": "index.js",                                                                // 启动应用文件位置
-     "cwd": "./",                                                                                // 当前工作路径
-     "watch": true,                                                                            // 监听模式
-     "ignore_watch": [                                                                        // 忽略不想监听的文件改动
-       "node_modules",
-       "logs"
-     ],
-     "instances": 4,                                                                            // 多进程, 0 表示PM2将根据CPU的数量启动尽可能多的进程(集群模式)
-     "error_file": "logs/err.log",                                                // 普通输出日志文件及位置
-     "out_file": "logs/out.log",                                                    // 错误输出日志文件及位置, pm2 install pm2-logrotate进行日志文件拆分
-     "log_type": "json",                                                                    // 日志类型
-     "log_date_format": "YYYY-MM-DD HH:mm:ss"                        // 日志日期记录格式
-   }
- }