“世上无难事,只要肯放弃”。 :)
本文主要是记录笔者学习PM2后的一种知识回顾和梳理,而不是入门教程。(入门资料见文章底部)
简介
pm2 是一个Node应用的进程管理器。
你可以把它理解成是一种命令行管理工具,利用它可以简化很多node应用管理的繁琐任务。
特性
- 内建负载均衡(使用 Node cluster 集群模块,可参考朴灵的《深入浅出node.js》第九章)
- 后台运行
- 0秒停机重载,即 允许你重新载入代码而不用失去请求连接
- 跨平台支持,具有 Ubuntu 和 CentOS 的启动脚本
- 停止不稳定的进程(避免无限循环)
- 控制台性能检测
- 提供 HTTP API
- 远程控制和实时的接口 API ( Nodejs 模块,允许和 PM2 进程管理器交互 )
常用用法
1 | $ npm install pm2 -g # 命令行安装 pm2 |
启动参数
1 | $ pm2 start app.js <参数> |
参数列表
- —watch:监听应用目录的变化,一旦发生变化,自动重启。如果要精确监听、不见听的目录,最好通过配置文件。
- -i —instances:启用多少个实例,可用于负载均衡。如果-i 0或者-i max,则根据当前机器核数确定实例数目。
- —ignore-watch:排除监听的目录/文件,可以是特定的文件名,也可以是正则。比如–ignore-watch=”test node_modules “some scripts””
- -n —name:应用的名称。查看应用信息的时候可以用到。
- -o –output
:标准输出日志文件的路径。 - -e –error
:错误输出日志文件的路径。 - —interpreter
:the interpreter pm2 should use for executing app (bash, python…)。比如你用的coffee script来编写应用。
结语
学习,是一场孤独的旅行。
但我相信,每个忠于自己爱好和兴趣的人,一定能走到最后。
参考资料:
1- PM2介绍 - 怪石羽笺
2- PM2实用入门指南 - IMWeb社区
3- 使用pm2躺着实现负载均衡
- 本文作者: 敲完代码再睡觉
- 本文链接: https://teamonn.github.io/2017/09/18/study-pm2/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!