Categories
nodejs

pm2

pm2 为nodejs 进程管理器 为某个nodejs进程提供守护进程功能

npm install -g pm2 全局安装

pm2 start app.js 替代 node app.js 以守护进程启动app.js

pm2 start app.js –name wb123 以守护进程启动app.js 并命名为wb123

pm2 start bin/www –watch 以守护进程启动bin/www 并监控文件变化自动重启

pm2 restart wb123 重启wb123服务

pm2 stop wb123 停止服务 pm2 stop all 停止所有

pm2 delete www 删除www服务 pm2 delete all 删除所有

pm2 list 查看所有进程

pm2 monit 查看进程内存等

pm2 -h 查看命令详细

pm2 启动其他进程 在当前文件写下一个 xxx.json的脚本

pm2 start xxx.json 执行

脚本内容如下

{
  "name": "应用进程名称",
  "args": "传递给脚本的参数",
  "script": "启动的脚本路径",
  "exec_interpreter": "指定的脚本解释器",
  "exec_mode": "fork",
  "max_memory_restart": "100M",
  //其它参数
  "watch": [  // 监控变化的目录,一旦变化,自动重启
    "bin",
    "routers"
  ],
  "ignore_watch" : [  // 从监控目录中排除
    "node_modules", 
    "logs",
    "public"
  ],
  "watch_options": {
    "followSymlinks": false
  },
  "error_file" : "./logs/app-err.log",  // 错误日志路径
  "out_file"   : "./logs/app-out.log",  // 普通日志路径
  "env": {
      "NODE_ENV": "production"  // 环境参数,当前指定为生产环境
  }
}

php脚本

{
  "name": "php-socket",
  "args": "",
  "script": "./include/Socket.php",
  "exec_interpreter": "php.exe",
  "exec_mode": "fork",
  "max_memory_restart": "100M"
}

java jar包

{
    "name": "my-server",
    "script": "/usr/bin/java",
    "args": [
        "-jar",
        "server.jar"
    ],
    "exec_interpreter": "",
    "exec_mode": "fork"
}
{
      "name": "yhtAdmin",

    "script": "java",

    "args": [

        "-jar",

        "background-0.0.1-SNAPSHOT.jar"

    ],

   "error_file":"./log/err.log",

   "out_file":"./log/out.log",

   "exec_interpreter": "",

   "exec_mode": "fork"
}

Leave a Reply