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

一、相关介绍

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 
pm2 show 
pm2 stop 
pm2 delete 
pm2 describe 
pm2 monit

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

开机自启动

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

  • 移除启动脚本

$ pm2 unstartup

ps:上述不适合Windows系统

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

  • pm2-windows-service
  • pm2-windows-startup
    pm2-windows-startup 使用方法
> npm install pm2-windows-startup -g
> pm2-startup install

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

你可能感兴趣的:(Node.js 服务部署(pm2 详细使用))