我的编程空间,编程开发者的网络收藏夹
学习永远不晚

【pm2】pm2的安装与基本命令:

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

【pm2】pm2的安装与基本命令:

文章目录


一、安装:

pm2 是 node 进程管理工具,可以利用它来简化很多 node 应用管理的繁琐任务,如性能监控、自动重启、负载均衡等,因为在工作中遇到服务器重启后,需要一个个去重新启动每个服务,这样不仅繁琐、效率低,而且容易遗忘开启一些服务。

【PM2 的主要特性】
1、内建负载均衡(使用 Node cluster 集群模块)
2、后台运行
3、0 秒停机重载
4、具有 Ubuntu 和 CentOS 的启动脚本
5、停止不稳定的进程(避免无限循环)
6、控制台检测
7、提供 HTTP API
8、远程控制和实时的接口 API ( Nodejs 模块,允许和 PM2 进程管理器交互 )

运行多个node非常麻烦:
在这里插入图片描述

npm install -g pm2     pm2 -v   //查看版本号

二、基本命令:

【1】启动命令:pm2 start app.js

状态为:online为启动成功,stopped看一下哪里是否用node已经运行了

在这里插入图片描述

【2】命令行参数:pm2 start app.js --watch -i max

--watch:监听应用目录的变化,一旦发生变化,自动重启。
-i or --instance:启用多少个实例,可用于负载均衡,如果 -i 0 或者 -i max,则根据当前机器核数确定实例数目。
--ignore-watch:排除监听的目录或文件,可以是特定的文件名,也可以是正则。
-n xiaoman:给文件重新起名

在这里插入图片描述

【3】 查看有哪些进程:pm2 list

在这里插入图片描述

【4】停止命令: pm2 stop app_name | app_id (停止全部的应用:pm2 stop all)

停止特定的应用,可以通过 pm2 list 先获取应用的名字或者进程的 id,然后再调用以下命令停止相应的应用;

在这里插入图片描述

【5】重启命令: pm2 restart app.js在这里插入图片描述
【6】删除命令:pm2 delete app_name | app_id(删除全部的应用:pm2 delete all)

删除特定的应用,可以通过 pm2 list 先获取应用的名字或者进程的 id,然后再调用以下命令删除相应的应用;

在这里插入图片描述

三、配置文件:

如果我们使用命令行参数定义一些选项,那么每次启动进程时,都需要敲上一大堆的命令,非常繁琐;所以我们可以使用配置文件来将命令行参数进行配置,配置文件里的配置项跟命令行参数是基本一致的;如下所示 pm2 的配置文件 pm2.json ,然后在 package.json 文件中配置启动命令 “pm2”: “pm2 start pm2.json” ,这样我们只需要运行 npm run pm2 就可以使用 pm2 启动我们的 express 项目,并且相关运行参数直接在 pm2.json 中配置好了。相关配置项表示的意义在下面文件中都已经注释说明

{    "apps": {        "name": "express_project",       // 项目名                  "script": "app.js",              // 执行文件        "cwd": "./",                     // 根目录        "args": "",                      // 传递给脚本的参数        "interpreter": "",               // 指定的脚本解释器        "interpreter_args": "",          // 传递给解释器的参数        "watch": true,                   // 是否监听文件变动然后重启        "ignore_watch": [                // 不用监听的文件            "node_modules",            "public"        ],        "exec_mode": "cluster_mode",     // 应用启动模式,支持 fork 和 cluster 模式        "instances": "max",              // 应用启动实例个数,仅在 cluster 模式有效 默认为 fork        "error_file": "./logs/app-err.log",         // 错误日志文件        "out_file": "./logs/app-out.log",           // 正常日志文件        "merge_logs": true,                         // 设置追加日志而不是新建日志        "log_date_format": "YYYY-MM-DD HH:mm:ss",   // 指定日志文件的时间格式        "min_uptime": "60s",                        // 应用运行少于时间被认为是异常启动        "max_restarts": 30,                         // 最大异常重启次数        "autorestart": true,                        // 默认为 true, 发生异常的情况下自动重启        "restart_delay": "60"                       // 异常重启情况下,延时重启时间        "env": {           "NODE_ENV": "production",                // 环境参数,当前指定为生产环境           "REMOTE_ADDR": ""                       },        "env_dev": {            "NODE_ENV": "development",              // 环境参数,当前指定为开发环境            "REMOTE_ADDR": ""        },        "env_test": {   // 环境参数,当前指定为测试环境            "NODE_ENV": "test",            "REMOTE_ADDR": ""        }    }}

四、高阶应用

【1】日志查看:pm2 logs

在这里插入图片描述

【2】负载均衡

【官网】https://pm2.keymetrics.io/docs/usage/cluster-mode/

pm2 start app.js -i 3 // 开启三个进程pm2 start app.js -i max // 根据机器CPU核数,开启对应数目的进程 
【3】监控
pm2 monit

在这里插入图片描述

来源地址:https://blog.csdn.net/weixin_53791978/article/details/129120849

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

【pm2】pm2的安装与基本命令:

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Ubuntu系统中Git客户端的安装与基本命令的使用教程

这篇文章主要介绍“Ubuntu系统中Git客户端的安装与基本命令的使用教程”,在日常操作中,相信很多人在Ubuntu系统中Git客户端的安装与基本命令的使用教程问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”U
2023-06-13

ElasticSearch的安装与基本概念

这篇文章主要介绍了ElasticSearch的安装与基本概念,提供了一个分布式多用户能力的全文搜索引擎,Elasticsearch是用Java开发的,需要的朋友可以参考下
2023-05-15

CentOS中无线网卡的驱动安装与基本操作命令的操作方法

这期内容当中小编将会给大家带来有关CentOS中无线网卡的驱动安装与基本操作命令的操作方法,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1.安装输入命令代码如下:lsusb,可以看到USB无线网卡是Rea
2023-06-10

盘点 | 22个基本的Linux安全命令

如果您正在关注Linux系统的安全性,那么这些命令是您必须知道的。Linux系统的安全性有很多问题——从设置帐户到确保合法用户的权限没有超出工作所需。本文将介绍用于Linux系统日常工作的一些最基本的安全命令。sudo使用sudo运行特权命
2023-06-04

Linux和MySQL的安装与基本操作

Linux和MySQL的安装与基本操作原文地址:https://www.cnblogs.com/cym1/p/13787117.html

	Linux和MySQL的安装与基本操作
2020-07-06

Linux下Lsof命令的安装及基础操作

这篇文章主要讲解了“Linux下Lsof命令的安装及基础操作”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux下Lsof命令的安装及基础操作”吧!安装lsof 命令默认是没有安装的,而
2023-06-15

Linux中ipconfig与route命令的基本使用教程

本篇内容主要讲解“Linux中ipconfig与route命令的基本使用教程”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux中ipconfig与route命令的基本使用教程”吧!ifco
2023-06-12

linux ubuntu apt安装指定版本的包的命令

要安装指定版本的软件包,请使用以下命令: sudo apt-get install package_name=version_number 例如,要安装MySQL 5.7.27,您可以使用以下命令: sudo apt-get install
2023-08-23

Ubuntu与Debian下安装与删除软件的相关命令

这篇文章主要讲解了“Ubuntu与Debian下安装与删除软件的相关命令”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Ubuntu与Debian下安装与删除软件的相关命令”吧!安装软件命令:
2023-06-13

【Java基础】JDK8.0(JDK1.8)版本的下载与安装

【Java基础】JDK8.0(JDK1.8)版本的下载与安装 一、什么是JDK、JRE JDK(Java SE Development Kits)是Java程序员使用的开发环境,包含JRE和开发工具集。JRE(Java Runtime En
2023-08-16

linux下ssh的安装方法与scp命令的使用

本篇内容介绍了“linux下ssh的安装方法与scp命令的使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!ubuntu默认并没有安装ssh
2023-06-09

编程热搜

目录