简述pm2常用命令集合及配置文件说明


Posted in Javascript onMay 30, 2019

常用命令集合

pm2 start app.js          # 启动app.js应用程序
pm2 start app.js -i 4      # cluster mode 模式启动4个app.js的应用实例# 4个应用程序会自动进行负载均衡
pm2 start app.js --name="api" # 启动应用程序并命名为 "api"
pm2 start app.js --watch     # 当文件变化时自动重启应用
pm2 start script.sh         # 启动 bash 脚本
pm2 list                # 列表 PM2 启动的所有的应用程序
pm2 monit                  # 显示每个应用程序的CPU和内存占用情况
pm2 show [app-name]      # 显示应用程序的所有信息
pm2 logs                   # 显示所有应用程序的日志
pm2 logs [app-name]          # 显示指定应用程序的日志
pm2 flush
pm2 stop all            # 停止所有的应用程序
pm2 stop 0             # 停止 id为 0的指定应用程序
pm2 restart all         # 重启所有应用
pm2 reload all           # 重启 cluster mode下的所有应用
pm2 gracefulReload all    # Graceful reload all apps in cluster mode
pm2 delete all            # 关闭并删除所有应用
pm2 delete 0             # 删除指定应用 id 0
pm2 scale api 10            # 把名字叫api的应用扩展到10个实例
pm2 reset [app-name]       # 重置重启数量
pm2 startup            # 创建开机自启动命令
pm2 save                   # 保存当前应用列表
pm2 resurrect            # 重新加载保存的应用列表
pm2 update                # Save processes, kill PM2 and restore processes
pm2 generate               # Generate a sample json configuration file
pm2 start app.js --node-args="--max-old-space-size=1024"

配置文件详细介绍

{
  "apps": {
    "name": "wuwu",               // 项目名     
    "script": "./bin/www",           // 执行文件
    "cwd": "./",                // 根目录
    "args": "",                 // 传递给脚本的参数
    "interpreter": "",             // 指定的脚本解释器
    "interpreter_args": "",           // 传递给解释器的参数
    "watch": true,               // 是否监听文件变动然后重启
    "ignore_watch": [              // 不用监听的文件
      "node_modules",
      "logs"
    ],
    "exec_mode": "cluster_mode",        // 应用启动模式,支持fork和cluster模式
    "instances": 4,               // 应用启动实例个数,仅在cluster模式有效 默认为fork;或者 max
    "max_memory_restart": 8,          // 最大内存限制数,超出自动重启
    "error_file": "./logs/app-err.log",     // 错误日志文件
    "out_file": "./logs/app-out.log",      // 正常日志文件
    "merge_logs": true,             // 设置追加日志而不是新建日志
    "log_date_format": "YYYY-MM-DD HH:mm:ss",  // 指定日志文件的时间格式
    "min_uptime": "60s",            // 应用运行少于时间被认为是异常启动
    "max_restarts": 30,             // 最大异常重启次数,即小于min_uptime运行时间重启次数;
    "autorestart": true,            // 默认为true, 发生异常的情况下自动重启
    "cron_restart": "",             // crontab时间格式重启应用,目前只支持cluster模式;
    "restart_delay": "60s"           // 异常重启情况下,延时重启时间
    "env": {
      "NODE_ENV": "production",        // 环境参数,当前指定为生产环境 process.env.NODE_ENV
      "REMOTE_ADDR": "爱上大声地"        // process.env.REMOTE_ADDR
    },
    "env_dev": {
      "NODE_ENV": "development",       // 环境参数,当前指定为开发环境 pm2 start app.js --env_dev
      "REMOTE_ADDR": ""
    },
    "env_test": {                // 环境参数,当前指定为测试环境 pm2 start app.js --env_test
      "NODE_ENV": "test",
      "REMOTE_ADDR": ""
    }
  }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript脚本性能的优化方法
Feb 02 Javascript
弹出广告特效代码(一个IP只弹出一次)
May 11 Javascript
javascript 单选框,多选框美化代码
Aug 01 Javascript
jQuery控制div实现随滚动条滚动效果
Jun 07 Javascript
jQuery封装的屏幕居中提示信息代码
Jun 08 Javascript
JavaScript实现简单精致的图片左右无缝滚动效果
Mar 16 Javascript
angular实现页面打印局部功能的思考与方法
Apr 13 Javascript
vue.js 中使用(...)运算符报错的解决方法
Aug 09 Javascript
vue+Element实现搜索关键字高亮功能
May 28 Javascript
关于layui toolbar和template的结合使用方法
Sep 19 Javascript
前端开发之便利店收银系统代码
Dec 27 Javascript
Vue接口封装的完整步骤记录
May 14 Vue.js
Vue实现固定定位图标滑动隐藏效果
May 30 #Javascript
浅谈Vue的响应式原理
May 30 #Javascript
vue实现固定位置显示功能
May 30 #Javascript
搭建一个Koa后端项目脚手架的方法步骤
May 30 #Javascript
JS使用cookie保存用户登录信息操作示例
May 30 #Javascript
详解vue 动态加载并注册组件且通过 render动态创建该组件
May 30 #Javascript
Vue使用axios出现options请求方法
May 30 #Javascript
You might like
精通php的十大要点(上)
2009/02/04 PHP
收集的二十一个实用便利的PHP函数代码
2010/04/22 PHP
php获取文件名后缀常用方法小结
2015/02/24 PHP
jquery 层次选择器siblings与nextAll的区别介绍
2013/08/02 Javascript
通过正则表达式实现表单验证是否为中文
2014/02/18 Javascript
json实现前后台的相互传值详解
2015/01/05 Javascript
AngularJS基础知识笔记之表格
2015/05/10 Javascript
javascript模块化简单解析
2016/04/07 Javascript
js中获取时间new Date()的全面介绍
2016/06/20 Javascript
半个小时学json(json传递示例)
2016/12/25 Javascript
原生js实现秒表计时器功能
2017/02/16 Javascript
AngularJs 禁止模板缓存的方法
2017/11/28 Javascript
NodeJS实现自定义流的方法
2018/08/01 NodeJs
微信小程序实现的日期午别医生排班表功能示例
2019/01/09 Javascript
聊聊Vue 中 title 的动态修改问题
2019/06/11 Javascript
微信小程序利用button控制条件标签的变量问题
2020/03/15 Javascript
[43:57]Liquid vs Mineski 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/19 DOTA
Python多线程编程(七):使用Condition实现复杂同步
2015/04/05 Python
python实现获取Ip归属地等信息
2016/08/27 Python
Python操作使用MySQL数据库的实例代码
2017/05/25 Python
有关Tensorflow梯度下降常用的优化方法分享
2020/02/04 Python
Django自定义全局403、404、500错误页面的示例代码
2020/03/08 Python
浅谈Python中的模块
2020/06/10 Python
HTML5 canvas实现移动端上传头像拖拽裁剪效果
2016/03/14 HTML / CSS
PatPat德国:妈妈的每日优惠
2019/10/02 全球购物
Android面试宝典
2013/08/06 面试题
学前班教师的自我鉴定
2013/12/05 职场文书
销售总监岗位职责
2014/01/04 职场文书
大学生作弊检讨书
2014/02/19 职场文书
四风剖析查摆对照检查材料思想汇报
2014/09/24 职场文书
介绍长城的导游词
2015/01/30 职场文书
医院员工辞职信范文
2015/05/12 职场文书
《中彩那天》教学反思
2016/02/24 职场文书
幼儿教师三分钟演讲稿
2019/06/21 职场文书
Go各时间字符串使用解析
2021/04/02 Golang
java基础——多线程
2021/07/03 Java/Android