美文网首页
Node.js 服务部署(pm2 详细使用)

Node.js 服务部署(pm2 详细使用)

作者: 天涯笑笑生 | 来源:发表于2019-04-08 10:35 被阅读0次

一、相关介绍

1.1 跨平台设置使用环境变量

cross-env
github
npmjs

1.2 应用管理

  • supervisor
    一个客户端/服务器系统,允许其用户在类UNIX操作系统上控制许多进程
    github(star5.2k)

  • node-supervisor
    nodejs开发的小supervisor,可以运行程序并监视代码修改,依次实现热加载
    github(star3.5k)

  • forever
    一个简单的CLI工具,确保给定脚本永久运行
    github(star12k)

  • nodemon
    用于开发中服务热加载
    github(star17.6k)

  • pm2
    github(star28.4k)
    具有负载均衡器的Nodejs 应用程序进程管理工具(后面重点介绍

  • 一些不太热门的
    node-windows
    用于Windows 的nodejs脚本,支持进程守护,事件日志,账户控制等功能
    (node-mac & node-linux)同

二、pm2

优点

  • 管理,监控并保持永久运行Node.js 应用
  • 经常接收超过1800次的测试攻击
  • 可以运行在Linux 、 macOS 、 Windows平台
  • 支持Node.js 4.X以上的所有版本
  • 可以用于Python, Ruby等其他语言的应用程序
  • 使用简单

简单应用

首先全局安装pm2

$ npm install pm2@latest -g

启动应用

$ pm2 start app.js

通过配置启动

$ pm2 start process.yml

process.yml(注:yml格式)

apps:
  - script : app.js
    name : 'app'
    instances: 3
    exec_mode: cluster
    watch: true

其他常用操作具体使用可参考官网文档

pm2 list
pm2 logs
pm2 start app.js -i max
pm2 restart <id|name>
pm2 show <id|name>
pm2 stop <id|name>
pm2 delete <id|name>
pm2 describe <id|name>
pm2 monit

注:id或name 可替换为all,表所有

开机自启动

  • 保存当前进程状态
$ pm2 save
  • 生成开机自启动脚本
    注:自动检测平台
$ pm2 startup
  • 复制脚本执行

  • 移除启动脚本

$ pm2 unstartup

ps:上述不适合Windows系统

使用其他库生成自启动脚本

> npm install pm2-windows-startup -g
> pm2-startup install

pm2 将在启动时恢复已保存的进程

日志分割

  • pm2 安装
    pm2 install pm2-logrotate
  • 配置
    max_size 文件最大值,默认10M
    retain 循环数量,默认30
    compress 是否启用压缩,默认false
    dateFormat YYYY-MM-DD_HH-mm-ss
    rotateModule
    workerInterval 检查日志大小间隔
    rotateInterval
    TZ

相关文章

网友评论

      本文标题:Node.js 服务部署(pm2 详细使用)

      本文链接:https://www.haomeiwen.com/subject/ashtvqtx.html