一、相关介绍
1.1 跨平台设置使用环境变量
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系统
使用其他库生成自启动脚本
- pm2-windows-service
-
pm2-windows-startup
pm2-windows-startup
使用方法
> 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