一七八、Node.js PM2使用介绍
PM2 是一个强大的生产级 Node.js 进程管理器,提供了自动重启、负载均衡和进程监控等功能。适用于开发和生产环境,简化了 Node.js 应用程序的管理和维护。
PM2 安装
1. 使用 npm 安装 PM2
npm i -g pm2@latest
-g
:全局安装。@latest
:安装最新版本。
PM2 使用
2. 启动应用程序
pm2 start app.js
- 启动
app.js
并使用 PM2 管理。
应用程序声明文件
3. process.yml
使用 YAML 文件定义和管理多个应用程序。
apps:- script: app.jsinstances: 4exec_mode: cluster- script: worker.jswatch: trueenv:NODE_ENV: developmentenv_production:NODE_ENV: production
script
: 需要启动的脚本。instances
: 启动的实例数量。cluster
模式下,PM2 会平衡负载。exec_mode
: 运行模式,可为fork
(默认)或cluster
。watch
: 是否监视文件变动,自动重启应用。env
: 开发环境变量。env_production
: 生产环境变量。
4. 使用配置文件启动应用
pm2 start process.yml
设置启动脚本
5. pm2 startup
pm2 startup
- 设置 PM2 为系统启动脚本,让应用在系统重启后自动启动。
查看进程列表
6. pm2 list
pm2 list
- 显示所有被 PM2 管理的进程列表。
7. pm2 jlist
pm2 jlist
- 以 JSON 格式输出进程列表。
8. pm2 prettylist
pm2 prettylist
- 以美化格式输出进程列表。
9. pm2 describe [id]
pm2 describe [id]
- 查看进程的详细信息,如环境变量、运行时间等。
10. pm2 monit
pm2 monit
- 打开实时监控界面,显示 CPU 和内存使用情况等。
日志管理
11. pm2 logs [–raw]
pm2 logs
- 实时查看日志。
--raw
选项显示原始日志格式。
12. pm2 flush
pm2 flush
- 清空所有日志文件。
13. pm2 reloadLogs
pm2 reloadLogs
- 重新加载日志文件。
管理操作
14. 停止所有进程
pm2 stop all
15. 重启所有进程
pm2 restart all
16. 重新加载所有进程
pm2 reload all
- 平滑重启,适用于无状态服务。
17. 优雅地重新加载所有进程
pm2 gracefulReload all
- 优雅地平滑重启,等待当前连接结束后再重启。
18. 停止指定进程
pm2 stop [id]
- 停止指定的进程,
[id]
为进程 ID。
19. 重启指定进程
pm2 restart [id]
- 重启指定的进程。
20. 删除指定进程
pm2 delete [id]
21. 删除所有进程
pm2 delete all
其他命令
22. 重置进程状态
pm2 reset
- 重置进程的状态和计数器。
23. 更新 PM2
pm2 updatePM2
- 更新 PM2 到最新版本。
24. 检查 PM2 是否运行
pm2 ping
25. 以非守护模式运行应用
pm2 start app.js --no-daemon
- 以非守护模式启动应用,运行结束后 PM2 也会退出。
26. 启动应用并禁用版本控制
pm2 start app.js --no-vizion
- 启动应用时不使用版本控制(
vizion
)。
27. 启动应用并禁用自动重启
pm2 start app.js --no-autorestart
- 启动应用时不进行自动重启,即使应用崩溃。
总结
PM2 是一个功能强大且灵活的进程管理器,适合开发和生产环境的应用程序管理。提供多种配置和管理选项,帮助开发者轻松维护应用的稳定性和性能。
相关文章:
一七八、Node.js PM2使用介绍
PM2 是一个强大的生产级 Node.js 进程管理器,提供了自动重启、负载均衡和进程监控等功能。适用于开发和生产环境,简化了 Node.js 应用程序的管理和维护。 PM2 安装 1. 使用 npm 安装 PM2 npm i -g pm2latest-g:全局安装。latest:…...
基于CSU18M92芯片的蓝牙体重秤方案
传统体重秤只有一个数据的显示功能,将需称重物体放置在体重秤上,体重秤显示当前物体的数据,物体移开,数据消失,体重秤没有数据记录、存储、分析功能。智能体重秤与传统体重秤相比,可通过低功耗蓝牙与手机AP…...

深度学习经典模型之VGGNet
1 VGGNet 1.1 模型介绍 VGGNet是由牛津大学视觉几何小组(Visual Geometry Group, VGG)提出的一种深层卷积网络结构,他们以7.32%的错误率赢得了2014年ILSVRC分类任务的亚军(冠军由GoogLeNet以6.65%的错误率夺得)和…...

Axure网络短剧APP端原型图,竖屏微剧视频模版40页
作品概况 页面数量:共 40 页 使用软件:Axure RP 9 及以上,非软件无源码 适用领域:短剧、微短剧、竖屏视频 作品特色 本作品为网络短剧APP的Axure原型设计图,定位属于免费短剧软件,类似红果短剧、河马剧场…...

ES + SkyWalking + Spring Boot:日志分析与服务监控(三)
目录 一、搭建SkyWalking 1.1 版本选择 1.2 下载安装 1.3 配置启动 1.4 SkyWalking UI介绍 二、Springboot项目使用 2.1 Agent下载 2.2 Agent配置skywalking oap地址 2.3 IDEA配置Agent地址 2.4 生成的ES索引介绍 三、在kibana上查看日志 四、问题和解决 3.1 日志…...
php 如何将数组转成对象数组
1. 使用 (object) 操作符: “php $array [‘name’ > ‘John’, ‘age’ > 25]; $object (object) $array; // 访问对象属性 echo $object->name; // 输出: John echo $object->age; // 输出: 25 “ 2. 使用 (stdClass): “php $array …...

HTB:Photobomb[WriteUP]
目录 连接至HTB服务器并启动靶机 使用nmap对靶机进行端口开放扫描 再次使用nmap对靶机开放端口进行脚本、服务扫描 使用ffuf进行简单的子域名扫描 使用浏览器直接访问该域名 选取一个照片进行下载,使用Yakit进行抓包 USER_FLAG:a9afd9220ae2b5731…...
图文组合-pytorch实现
在图文组合任务中,常见的图文融合方式有多种,比如简单的拼接、加权求和、注意力机制、跨模态Transformer等。为了让图片充分补充文本的语义信息,我们可以使用一种简单且有效的图文融合方法,比如通过注意力机制。 我们可以让文本特…...
CentOS AppStream 8 手动更新 yum源
由于CentOS 8的官方支持已在2021年12月31日结束,官方镜像中的CentOS 8包已被移除。因此,如果您仍然需要运行CentOS 8并更新其yum源,您可以考虑使用以下步骤来配置一个可用的yum源,例如阿里云的镜像源。 https://mirrors.aliyun.co…...
虚拟化环境中香港服务器内存如何分配与管理?
虚拟化技术通过创建抽象层来模拟硬件资源,使得可以在单一硬件上运行多个操作系统实例。这通常涉及两个主要组件:管理程序(Hypervisor)和虚拟机监控器(VMM)。管理程序直接安装在物理硬件上,负责创建和管理虚拟机,而VMM则用于监控和…...
Android源码中如何编译出fastboot.exe和adb.exe程序
1、方案背景说明 在进行android项目开发时,如果通用的fastboot工具无法满足项目的定制话的需求时,就需要对fastboot工具的源码进行自定义修改,并编译成新的fastboot和adb工具。 由于安卓源码的的编译通常使用的是ubuntu系统,默认…...

C++ 参数传递 笔记
目录 1、输入参数的传递方式-选择传值还是传引用? 处理用户信息 处理坐标 处理配置 处理ID 2、对于需要修改的参数,使用非const引用传递 有趣的例外:警惕表象的迷惑 需要警惕的陷阱 “糟糕”的update方法: “完美”的set_name与set…...

【Linux】注释和配置文件的介绍
目录 一、help vim-modes指令 二、vim命令模式下的注释 1、直接注释: 2、快捷键注释(比较麻烦,了解即可) 三、vim的配置文件 .vimrc 四、sudo指令的相关问题 一、help vim-modes指令 在底行模式输入该指令可以用于查看vim的十…...

安卓主板_基于联发科MTK MT8788平台平板电脑方案_安卓核心板开发板定制
联发科MT8788安卓核心板平台介绍: MTK8788设备具有集成的蓝牙、fm、wlan和gps模块,是一个高度集成的基带平台,包括调制解调器和应用处理子系统,启用LTE/LTE-A和C2K智能设备应用程序。该芯片集成了工作在2.0GHz的ARM Cortex-A73、最…...

CLIP(Contrastive Language-Image Pre-Training)在SOPHON BM1684X上进行推理
1、链接 https://github.com/sophgo/sophon-demo/tree/release/sample/CLIP2、开发环境中交叉编译生成sophon_arm-3.8.0-py3-none-any.whl 3、sail安装 算能官网技术资料中SDK-24.04.01的 libsophon_soc_0.4.1_aarch64.tar.gz sophon-mw-soc_0.4.1_aarch64.tar.gz SOPHON-SA…...
Ascend Extension for PyTorch的源码解析
1 源码下载 Ascend对pytorch代码的适配,可从以下链接中获取。 Ascend/pytorch 执行如下命令即可。 git clone https://gitee.com/ascend/pytorch.git2 目录结构解析 源码下载后,如果需要编译torch-npu,最好保持pytorch的源码版本匹配&…...

鸿蒙HarmonyOS开发:给应用添加基础类型通知和进度条类型通知(API 12)
文章目录 一、通知介绍1、通知表现形式2、通知结构3、请求通知授权 二、创建通知1、发布基础类型通知2、发布进度类型通知3、更新通知4、移除通知 三、设置通知通道1、通知通道类型 四、创建通知组五、为通知添加行为意图1、导入模块。2、创建WantAgentInfo信息。4、创建WantAg…...

从零开始使用YOLOv11——Yolo检测detect数据集自建格式转换为模型训练格式:20w+图片1w+类别代码测试成功
在之前的文章中记录了YOLO环境的配置安装和基本命令的一些使用,上一篇博文的地址快速链接:从零开始使用YOLOv8——环境配置与极简指令(CLI)操作:1篇文章解决—直接使用:模型部署 and 自建数据集:…...

自动化新时代:机器取代工作,我们该如何重塑自我?
内容概要 在自动化时代的浪潮中,技术的飞速发展对传统工作模式产生了深远影响。我们眼前浮现的是一个充满机遇与挑战的新世界。许多岗位面临被机器取代的威胁,然而,这一变化并不仅仅是消极的。在这个背景下,个体不仅需要重新审视…...
GEE 土地分类——利用Sentinel-2数据进行土地分类
目录 简介 函数 ee.Classifier.smileRandomForest(numberOfTrees, variablesPerSplit, minLeafPopulation, bagFraction, maxNodes, seed) Arguments: Returns: Classifier 代码 结果 简介 利用Sentinel-2数据进行土地分类的流程大致可分为以下几个步骤: 1. 数据获取…...
原生js操作元素类名(classList,classList.add...)
1、classList classList属性是一个只读属性,返回元素的类名,作为一个DOMTokenList集合(用于在元素中添加,移除及切换css类) length:返回类列表中类的数量,该属性是只读的 <style> .lis { width: 200px; …...
Android协程学习
目录 Android上的Kotlin协程介绍基本概念与简单使用示例协程的高级用法 结构化并发线程调度器(Dispatchers)自定义调度器并发:同步 vs 异步 异步并发(async 并行执行)同步顺序执行协程取消与超时 取消机制超时控制异步数据流 Flow协程间通信 使用 Channel使用 StateFlow /…...
窗口聚合窗口聚合
taskmanager.memory.managed.fraction 在 Apache Flink 中,配置项 taskmanager.memory.managed.fraction 用于控制任务管理器(TaskManager)所占用的总内存中,分配给管理内存(Managed Memory)的比例。管理内…...

舵机在弹簧刀无人机中的作用是什么?
随着俄乌冲突的越发激烈,美国国防部宣布向乌克兰提供“弹簧刀”600型无人机。对于美国接连不断向乌克兰输送武器的做法,俄罗斯方面已经多次指责美国是在“火上浇油”,从而使俄乌冲突持续下去。 那么,弹簧刀究竟是一款怎样的无人机…...
数学复习笔记 25
今天能把第五章学完。加油。今年是最好上岸的一年。 5.23:全是单根,笑死,居然难受了。我现在每个题,都要总结。总结。总结实际上也总结不出啥东西。但是我一定要总结。主动让自己思考一下。老师的思路很清奇。他认为考的稀松平常…...
nginx 服务启动失败问题记录
背景和问题 systemctl status nginx.service 查看报错信息,显示如下: nginx: [emerg] socket() [::]:80 failed (97: Address family not supported by protocol) nginx: configuration file /etc/nginx/nginx.conf test failed问题分析 这个错误通常…...

WPF可拖拽ListView
1.控件描述 WPF实现一个ListView控件Item子项可删除也可拖拽排序,效果如下图所示 2.实现代码 配合 WrapPanel 实现水平自动换行,并开启拖拽 <ListViewx:Name"listView"Grid.Row"1"Width"300"AllowDrop"True&…...

网络攻防技术十四:入侵检测与网络欺骗
文章目录 一、入侵检测概述二、入侵系统的分类三、入侵检测的分析方法1、特征检测(滥用检测、误用检测)2、异常检测 四、Snort入侵检测系统五、网络欺诈技术1、蜜罐2、蜜网3、网络欺骗防御 六、简答题1. 入侵检测系统对防火墙的安全弥补作用主要体现在哪…...
汽车加气站操作工证考试重点
汽车加气站操作工证考试重点 一、汽车加气站操作工证考试主要内容 汽车加气站操作工证是从事CNG(压缩天然气)和LNG(液化天然气)加气站作业人员的必备资格证书。随着新能源汽车的快速发展,该证书的市场需求持续增长&a…...
【Go语言基础【四】】局部变量、全局变量、形式参数
文章目录 一、一句话总结二、作用域分类1. 局部变量(函数内/块内变量)1.1、语法说明1.2、示例 2. 全局变量(包级变量)2.1、语法说明2.2、示例:全局变量的访问 3. 形式参数(函数参数) 三、作用域…...