express框架开发接口部署线上环境PM2

Posted layee

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了express框架开发接口部署线上环境PM2相关的知识,希望对你有一定的参考价值。

1、PM2介绍

  PM2是一个线上环境下,用于启动nodejs进程守护的工具,用来保证服务的稳定及分摊服务器进程和压力。

2、下载安装

  npm install pm2 -g  => pm2 --version  => 在package.json scripts中配置 "prd": "cross-env NODE_ENV=production pm2 start app.js" =>  npm run prd运行,运行结果如下图:

技术图片

3、常用命令

  启动:pm2 start app.js

  监听控制台PM2进程列表: pm2 list

  重启:pm2 restart <AppName> / <id>

  停止和删除:pm2 stop <AppName> / <id>       pm2 delete <AppName> / <id>

  基本信息: pm2 info <AppName> / <id>

  日志:pm2 log <AppName> / <id>

  监听进程的CPU和内存信息:pm2 monit <AppName> / <id>

4、进程守护

  pm2在后台代码遇到意外错误时,进程就会重启,保证服务端能继续为前端和客户端提供服务,并将错误信息记录到日志中。

5、常用配置

  创建pm2.conf.json文件,输入需要配置的信息,如下:记得删除注释

{
    "apps": {
        "name": "pm2-test-server",     //设置app的name
        "script": "app.js",            //启动的文件
        "watch": true,                 //监听文件变化自动重启
        "ignore_watch": [              //不需要监听重启
            "node_modules",
            "logs"
        ],
        "instances": 4,                                //设置多进程
        "error_file": "logs/err.log",                  //错误日志地址
        "out_file": "logs/out.log",                    //输出日志地址
        "log_date_format": "YYYY-MM-DD HH:mm:ss"       //在日志中的每一行都要标记时间
    }
}

修改package.json中的"prd": "cross-env NODE_ENV=production pm2 start pm2.conf.json"

 

以上是关于express框架开发接口部署线上环境PM2的主要内容,如果未能解决你的问题,请参考以下文章

Docker快速搭建Node.js Express运行环境

Docker快速搭建Node.js Express运行环境

Docker快速搭建Node.js Express运行环境

Vue+Node+MongoDB高级全栈开发

转)nodejs后台启动方式PM2

linux上利用pm2和nginx部署项目