PM2介绍

线上环境

服务器稳定性
充分利用服务器硬件资源,以便提高性能
线上日志记录

PM2

进程守护,系统崩溃自动重启
启动多进程,充分利用CPU和内存
自带日志记录功能

PM2介绍

下载安装

npm install pm2 -g
pm2 --version

基本使用

package.json里“scripts”下加

“prd”:"cross-env NODE_ENV=production pm2 start app.js"

express, koa

“prd”:"cross-env NODE_ENV=production pm2 start bin/www"

然后

npm run prd

常用命令

pm2 start ... //...可以是配置文件,入口文件
pm2 list //可以看当前列表
pm2 restart <AppName>/<id>
pm2 stop <AppName>/<id>
pm2 delete <AppName>/<id>
pm2 info <AppName>/<id>
pm2 log <AppName>/<id>
pm2 monit <AppName>/<id>//监控进程的内存和CPU信息

restart属性次数会累计。

pm2 info <AppName>/<id>

script path属性就是代码路径,还可以看日志存储路径、node env、node.js version
和nodemon的区别:pm2后台运行,nodemon前台运行

PM2进程守护

node app.js 和nodemon app.js,进程崩溃则不能访问
pm2遇到进程崩溃,会自动重启

PM2配置和日志记录

配置
新建PM2配置文件(包括进程数量,日志文件目录等)
pm2.conf.json文件内容

{
    "apps": {
        "name": "pm2-test-server",
        "script": "app.js",
        "watch": true,
        "ignore_watch": [
            "node_modules",
            "logs"
        ],
        "instances": 4,//nginx改一下
        "error_file": "logs/err.log",
        "out_file": "logs/out.log",
        "log_date_format": "YYYY-MM-DD HH:mm:ss"
    }
}

新建logs文件夹,logs文件夹下建err.log和out.log文件。

修改PM2启动命令,重启

访问server, 检查日志文件的内容(日志记录是否生效)

PM2多进程

为何使用多进程

操作系统限制一个进程的内存
内存:无法充分利用机器全部内存
CPU:无法充分利用多核CPU的优势

多进程和redis

多进程通过redis在进程之间共享数据
多进程之间,内存无法共享
多进程访问一个redis,实现数据共享
负载均衡的运算规则

关于服务器运维

服务器运维,一般由专业的OP人员和部门来处理
大公司都有自己的运维团队
中小型公司推荐用云服务,如阿里云的node平台

总结

PM2的核心价值:进程守护,多进程启动,线上日志记录
PM2的常用命令和配置,日志记录
多进程

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值