为什么用?

持久化:一旦开始使用,您的应用将达到持久化,在崩溃和机器重启时自启动。

流程管理 : 您所有的应用都被守护进程

日志管理 所有的应用日志都会保存到您的服务器硬盘中~/.pm2/logs/。

零配置负载均衡器 pm2通过创建多个共享相同服务器端口的子进程来扩展您的应用。这样您可以在停机时间为零的情况下重启您的应用。

终端内监控 在终端中监控您的应用以检查您的应用运行状况(CPU使用情况,内存使用,请求/分钟以及更多)

使用SSH轻松部署 :自动完成部署,不需一对一的ssh服务器连接。

Docker化

安装pm2

使用yarn:

yarn global add pm2

使用npm:

npm install pm2 -g

在debian操作系统下,使用安装脚本:

apt update && apt install sudo curl && curl -sL https://raw.githubusercontent.com/Unitech/pm2/master/p

实战演练

新建一个ecosystem.config.js文件,基本配置如下,这里以koa2项目为例

module.exports = {

apps: [{

// Application #1

name: "project name",

script: "./bin/www.js",

out_file: "./log/blog-out.log",

log_date_format: "YYYY-MM-DD HH:mm Z",

error_file: "./log/blog-err.log",

merge_logs: true,

watch: true,

env: {

"NODE_ENV": "development",

"AWESOME_SERVICE_API_TOKEN": "xxx"

},

env_production: {

"NODE_ENV": "production"

},

ignore_watch : ["node_modules", "src/utils/data", "src/utils/docs","src/controllers/backtend/uploads","public","logs","log"],

}]

}

重点步骤详解

name:应用的名称,后续通过名称直接操作应用

script :执行的脚本,如原来 node start ./bin/www 那么这里就是"./bin/www.js"

watch:是否让pm2监视源码目录的变化,有变化自动重启启动

ignore_watch:忽略哪些目录不监控,根据个人情况配置

启动,配置好之后执行如下脚本

pm2 start ecosystem.config.js --env production

常用指令

pm2 list :列举所有应用

pm2 monit:开启监控面板

pm2 start|restart|stop|delete appname :开启、重启、停止、删除应用

pm2 flush:清空日志

pm2 logs:查看日志

nodejs 防宕机_pm2实战,让你的nodejs、koa2应用永远不会宕机相关推荐

  1. Apollo进阶课程㊶丨Apollo实战——本机演示实战

    原文链接:进阶课程㊶丨Apollo实战--本机演示实战 Apollo是一个开放的.完整的.安全的平台,将帮助汽车行业及自动驾驶领域的合作伙伴结合车辆和硬件系统,快速搭建一套属于自己的自动驾驶系统. 上 ...

  2. 教程:Nodejs大漠插件开发游戏脚本实战(二)搭建项目

    一.使用nvm-windows安装Nodejs 上一篇文章我们说过我们需要用到32位的Nodejs,而且因为一些特殊原因,我们要用到指定的版本.为了不影响我们其他项目的开发,这里用到一个Nodejs的 ...

  3. “黑科技”安防界遍地开花 公安实战如何应用?

    技术产品与系统的落地应用,"三分靠技术,七分靠运维",运维管理是技术落地应用的关键,另外,用户需求也是重中之重."黑科技"安防界遍地开花公安实战如何应用? 人工 ...

  4. python实战之编码问题:中文!永远的痛

    python实战之编码问题:中文!永远的痛 编码的思维图谱: 也就是说文件没有编码之说,事实上都是按二进制格式保存在硬盘中的.不过在写入读取时须使用相应的编码进行处理,以便操作系统配合相关软件/字体, ...

  5. 让电脑死机c语言,秘技:如何悄无声息的让一台电脑死机

    朋友们一定看过很多优化系统的教程,比如"怎样快速清理C盘"或者"把电脑变好用的十个快捷键",虽然有用但也无趣.今天我们不追求有用,给大家讲一点有趣的东西:如何让 ...

  6. android 5.0一键刷机教程,HTC D820t (Desire 820 移动4G Android 5.0)一键刷机教程,轻松刷机...

    玩安卓手机最大的乐趣当然就是刷机了,手机使用一段时间后,运行会变得迟缓,为了让手机变的更加流畅或体验各OS系统,我们通常都会通过刷机来提高HTC D820t (Desire 820 移动4G Andr ...

  7. 红米3s android6.0,奇兔刷机全网首发红米3S (Redmi 3S) MIUI8 ROM 独家支持一键刷机

    小米6月14通过官网直接发布了红米3S (Redmi 3S)手机,作为红米3的升级版,红米3S配备了高通骁龙430八核处理器,配备4100毫安时电池,MUUI的优化获得很好的续航能力.小巧轻薄的机身拥 ...

  8. 荣耀7 能升级鸿蒙系统吗,刷机精灵V3.4.7发布 新增支持荣耀7等一键刷机

    刷机精灵V3.4.7发布,新增支持荣耀7电信4G版一键刷机 刷机精灵是国内最早的安卓刷机软件,其覆盖机型广.刷机流程简洁快速.而刷机精灵手机版更是让刷机在手机上即可完成,无需数据线连接电脑,让刷机变得 ...

  9. 第三步,下载刷机软件和刷机包。 1.miflash 小米官方刷机软件 http://bigota.d.miui.com/tools/MiPhone20151028.exe 2.下载刷机包。

    第三步,下载刷机软件和刷机包. 1.miflash 小米官方刷机软件  http://bigota.d.miui.com/tools/MiPhone20151028.exe 2.下载刷机包.

最新文章

  1. 编辑器-Vim常用命令
  2. 如何在Dart中读取控制台输入/ stdin?
  3. 西门子rwd60参数设置调试手册_西门子控制器RWD60
  4. 手机没电不用慌 荣耀门店推充电站服务为你解忧
  5. CentOS 7 安装记录
  6. A20成功驱动FT5206触摸屏
  7. leveldb——leveldb入门篇之Linux下编译配置和使用
  8. mysql 服务器 utf8_MySQL编码设置方法 MySQL编码为utf8设置方法
  9. 创建索引时,键列位置的重要性
  10. 【OpenCV】图像线性混合
  11. Deploy Office Communications Server 2007R2 Group Chat Server(一)
  12. SAP ASE 多个严重漏洞的详情披露
  13. 迅捷cad_迅捷套装
  14. 【语音编码】基于matlab ADPCM编解码【含Matlab源码 553期】
  15. mybatis3动态创建表,判断表是否存在,删除表
  16. Nginx的集群以及负载均衡
  17. Chromium OS开启Android ADB调试、进入安卓开发者模式
  18. STM32cubIDE 黑色主题_儿童画创意第二弹 | 绘画的秘密+万圣节主题画,10个创意教程一次看完!...
  19. Android探索之旅(第二十九篇)手把手教你如何简单创建快应用
  20. java 笔触类_Java-多种颜色/笔触手势,并在同一GestureOverl...

热门文章

  1. python依赖平台吗_在Python中创建快速循环最依赖于平台和pythonversion的方法是什么?...
  2. quartz 报错:Failure obtaining db row lock: Table ‘test.QRTZ_LOCKS‘ doesn‘t exist
  3. java 数值变量_Java 中数值变量赋值问题
  4. 去除小圆点_去除li小圆点以及解决其空格问题
  5. 拓扑排序排课系统_视频结构化人脸布控系统
  6. freebsd java 能用吗_在FreeBSD 4.9下安装JAVA环境
  7. 一页纸项目管理模板_项目管理职场必备读物!这一次全部送给你!
  8. 云教版认识计算机说课,【教学设计】第1册第1课《认识电脑交朋友》
  9. python tkinter画笑脸_Python3 tkinter基础 Canvas create_polygon 画三角形
  10. unity vs没有智能提示_Unity博主营地你不可不知的Unity C#代码小技巧