node工具之pm2

pm2

PM2是带有内置负载平衡器的Node.js应用程序的生产过程管理器。它使您可以使应用程序永远保持活动状态,无需停机即可重新加载它们,并简化常见的系统管理任务。

安装

npm install pm2 -g

常用命令

  • pm2 start app.js 开启进程
  • pm2 list 所有进程
  • pm2 stop <app_name|id|‘all‘|json_conf> / all 停止
  • pm2 restart <app_name|id|‘all‘|json_conf> 重启
  • pm2 delete <app_name|id|‘all‘|json_conf> 删除
  • pm2 describe <id|app_name> 单一进程
  • pm2 show <id|app_name> 单一进程
  • pm2 monit 监控 cpu 和内存使用情况
  • pm2 reload all 重开进程
  • pm2 logs 日志信息
  • pm2 flush 清理日志信息
  • pm2 reloadLogs
  • pm2 startup 开机自启动
  • pm2 save 保存进程状态
  • pm2 unstartup 取消开机自启动
  • pm2 install 安装模块
  • pm2 update 更新

执行npm命令

pm2 start npm -- start

pm2 start npm --no-automation --name {app name} -- run {script name}

  • (--no-automation)当进程崩溃时,pm2会自动帮你重启
  • (--name)启动的名称
  • (--run)执行的命令

参数

# Specify an app name
--name <app_name>

# Watch and Restart app when files change
--watch

# Set memory threshold for app reload
--max-memory-restart <200MB>

# Specify log file
--log <log_path>

# Pass extra arguments to the script
-- arg1 arg2 arg3

# Delay between automatic restarts
--restart-delay <delay in ms>

# Prefix logs with time
--time

# Do not auto restart app
--no-autorestart

# Specify cron for forced restart
--cron <cron_pattern>

# Attach to application log
--no-daemon

使用配置文件

module.exports = {
  apps : [{
    name: "app",
    script: "./app.js",
    env: {
      NODE_ENV: "development",
    },
    env_production: {
      NODE_ENV: "production",
    }
  }, {
     name: 'worker',
     script: 'worker.js'
  }]
}

Doc

官方网站

原文地址:https://www.cnblogs.com/mybilibili/p/11780969.html

时间: 2024-10-19 09:30:42

node工具之pm2的相关文章

Node.js使用PM2的集群将变得更加容易

介绍 众所周知,Node.js运行在Chrome的JavaScript运行时平台上,我们把该平台优雅地称之为V8引擎.不论是V8引擎,还是之后的Node.js,都是以单线程的方式运行的,因此,在多核心处理器的系统中并不能发挥其最大的性能. Node.js的cluster模块 幸运的是,Node.js给我们提供了cluster模块,它可以生成多个工作线程来共享同一个TCP连接. 它是如何运作的呢? 首先,Cluster会创建一个master,然后根据你指定的数量复制出多个server app(也被

[node 工具] 用 Node.js 将 bugzilla 上的 bug 列表导入到 excel 表格在线版本之一(server 端)

之前写了个 用 Node.js 将 bugzilla 上的 bug 列表导入到 excel 表格里 的 cli 工具虽然可以用,但考虑到一下几点,总觉得需要再做点什么. 界面简陋,我那截图上是在 VSCode 下的 git bash 里使用的,看起来倒还好一些.如果是在 CMD 下使用,不忍直视. 需要使用命令的方式启动,URL 地址还需要添加双引号,体验不好. 需要自行安装 nodejs 环境 因此我将这个工具做成了在线的版本,只要复制个 URL,点击开始,傻瓜操作,多人使用. 1 var e

node运维-pm2实现linux重启后自启动node服务

来源地址: https://blog.csdn.net/softwarenb/article/details/80269660 原因: 因为之前linux服务器因为cpu满了,还是系统崩了等等莫名的其他原因,会导致服务器重启,重启后,node还要我手动一个一个的开启,很麻烦. 虽然重启频率不高,但是,要重新发布项目会很麻烦,我希望重新启动后,自动开启node项目. 我半年时间,服务器经历了一次服务器被莫名的关机了,暂且找不到原因.还有一次是因为系统崩了,导致服务器重新启动. 简介 利用pm2非常

node工具之nodemon

nodemon nodemon是一种工具,可以自动检测到目录中的文件更改时通过重新启动应用程序来调试基于node.js的应用程序. 安装 npm install -g nodemon //或 npm install --save-dev nodemon 使用 nodemon ./main.js // 启动node服务 nodemon ./main.js localhost 6677 // 在本地6677端口启动node服务 "start": "ts-node -r tscon

node工具之http-proxy-middleware

简介 一个轻松的配置代理服务器的中间件,让Node.js代理变得简单 url路径 foo://example.com:8042/over/there?name=ferret#nose \_/ \______________/\_________/ \_________/ \__/ | | | | | scheme authority path query fragment 基本使用 var express = require('express'); var proxy = require('ht

pm2进程管理工具使用总结

对于后台进程的管理,常用的工具是crontab,可用于两种场景:定时任务和常驻脚本.关于常驻脚本,今天介绍一款更好用的工具:pm2,基于nodejs开发的进程管理器,适用于后台常驻脚本管理,同时对node网络应用有自建负载均衡功能.官方的说法,pm2 是一个带有负载均衡功能的Node应用的进程管理器,个人认为,并不准确,因为pm2支持多种语言,只是对于除node之外的其他进程无负载均衡的能力. 一,pm2特点: 说一些pm2有哪些优点好处呢? 支持进程行为配置 ,即可以通过配置,实现pm2管理应

node.js后台快速搭建在阿里云(二)(pm2和nginx篇)

前期准备 阿里云服务器 node.js pm2 express nginx linux(推荐教程:鸟哥的私房菜) 简介 嗯……我只是个前端而已 在第一部分说完了express篇. 后面继续项目的部署,这里主要说说篇pm2和nginx pm2和forever 1.forever 在提到pm2先说说 forever这个东西,使用过node.js可能都是有知道forever这个东西的. 顾名思义,就是让脚本永远的运行,除非你手动写命令去关闭. 关于forever的使用方法有两种,一种是命令行的形式,还

node及pm2环境安装

一.node安装 软件地址:https://nodejs.org/en/download/ #1.下载软件包 [[email protected] ~]# mkdir /app [[email protected] ~]# cd /app/ [[email protected] app]# wget https://nodejs.org/dist/v12.13.1/node-v12.13.1-linux-x64.tar.xz [[email protected] app]# ll total 1

node 常用工具大整合

node 常用工具大整合 这些都是我个人平常总是使用的一些关于node的工具,不喜勿喷 pm2 先声明对于线程的补充 我们引用官方的解释:线程可以独立运行的最小的CPU单位,可以在同一个进程里并发运行,共享该进程下的内存地址空间 都说js是单线程的语言,即使有很多工具的帮助,也改变不了单线程的一个特点,即使是使用了node之后 node的最大特点是异步I/O,node官网的几乎所有方法都提供了关于异步的使用方法,比如dir.read(callback)和dir.readSync(),但是node