PM2

PM2

$ 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 list # 列表 PM2 启动的所有的应用程序
$ pm2 monit # 显示每个应用程序的CPU和内存占用情况
$ pm2 show [app-name] # 显示应用程序的所有信息

$ pm2 logs # 显示所有应用程序的日志
$ pm2 logs [app-name] # 显示指定应用程序的日志

$ pm2 stop all # 停止所有的应用程序
$ pm2 stop 0 # 停止 id为 0的指定应用程序
$ pm2 restart all # 重启所有应用
$ pm2 reload all # 重启 cluster mode下的所有应用

$ pm2 delete all # 关闭并删除所有应用
$ pm2 delete 0 # 删除指定应用 id 0
$ pm2 scale api 10 # 把名字叫api的应用扩展到10个实例

pm2 远程部署 需要创建 ecsystem.json

{
     "apps": [
         {
             "name": "应用名称",
             "script": "./bin/www", #应用
             "watch": true,  #是否开启自动重启
             "env": {
                 "COMMON_VARIABLE": "true"
             },
             "env_production": {
                 "NODE_ENV": "production"
             }
         }
     ],
     "deploy": {
         "production": {
             "user": "***", #服务器用户名
             "host": [
                 "ip地址"
             ],
             "port": "ssh端口号",
             "ref": "origin/master",
             "repo": "git仓库地址",
             "path": "服务器部署路径",
             "ssh_options": "StrictHostKeyChecking=no",
             "post-deploy": "yarn install && pm2 startOrRestart ecosystem.json --env production", #要执行操作 此处是下载依赖 启动应用
             "env": {
                 "NODE_ENV": "production"
             }
         }
     }
 }

pm2 deploy ecosystem.json production setup #远程部署
pm2 deploy ecosystem.json production #远程更新 并执行 post-deploy 中的操作

0%