首页 > 其他分享 >PM2 入门介绍

PM2 入门介绍

时间:2024-07-11 11:55:35浏览次数:17  
标签:入门 pm2 -- app 介绍 PM2 应用 进程 name

什么是PM2
pm2是一个进程管理工具,可以用它来管理你的node进程,并查看node进程的状态,也支持性能监控,进程守护,负载均衡,自动重载等功能。pm2基本是Nodejs应用程序不二的守护进程选择node进程管理常用它,事实上它并不仅仅可以启动Nodejs的程序,只要是一般的脚本的程序它同样可以胜任。其同类工具有Supervisor、Forever等。

PM2的特性:这些特性使得PM2成为Node.js开发者管理和监控应用程序的首选工具之一。‌
1、进程管理:‌PM2是一个Node.js应用的进程管理器,‌可以简化很多Node应用管理的繁琐任务,‌如性能监控、‌自动重启、‌负载均衡等1。‌
2、负载均衡:‌利用Node.js的集群模块,‌PM2可以实现内建负载均衡,‌根据可用CPU的数量自动扩展应用程序的子进程,‌以共享服务器端口12。‌
3、守护进程和keep alive:‌提供线程守护和keep alive功能,‌确保应用程序持续运行1。‌
4、零秒停机重载:‌在维护升级时,‌提供0秒停机重载功能,‌无需停机时间1。‌
5、多平台支持:‌支持Linux、‌MacOS和Windows等多个操作系统12。‌
6、停止不稳定的进程:‌能够停止不稳定的进程,‌避免无限循环1。‌
7、控制台检测:‌提供控制台检测功能,‌方便监控应用程序的运行状况1。‌
8、HTTP API和远程控制:‌提供HTTP API和远程控制接口,‌允许与PM2进程管理器进行交互1。‌
9、多服务器监控管理:‌利于多服务器监控管理,‌可以查看代码异常和应用长期运行的稳定性3。‌
10、基本应用启动、‌重启与停止功能:‌支持应用基本的启动、‌重启与停止等功能3。‌

安装部署
1、全局安装命令
pm2, npm install -g pm2
2、安装依赖命令
npm install 需要进入到所在目录执行此命令
3、打包命令
npm run build
4、启动命令
第一次启动:pm2 start app_name.js 注意第一次启动需要进入到安装目录
重新启动:pm2 restart app_name
--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来编写应用。
5、查看进程
pm2 list/ls/l
6、查看某个应用的详情
pm2 show app_name|app_id pm2 describe app_name|app_id
7、重启
pm2 restart app.js pm2 restart app_name|app_name
8、停止
停止特定的应用:pm2 stop app_name|app_id
停止所有应用:pm2 stop all
9、删除
删除特定的应用:pm2 delete app_name|app_id
删除所有的应用:pm2 delete all
10、查看日志
查看特定的应用程序日志:pm2 logs app_name|app_id
查看所有应用程序日志:pm2 logs
11、帮助命令
pm2 --help
12、负载均衡
pm2 start app.js -i 3 开启三个进程
pm2 start app.js -i max 根据机器CPU核数,开启对应数目的进程
13、开机自动启动
1、首先,确保你已经安装了pm2。
2、接下来,使用pm2启动你的应用:
第一次启动:pm2 start app_name.js
重新启动:pm2 restart app_name
后续启动::pm2 start app_name
3、为了确保pm2在系统重启后依然能够启动你的应用,你需要使用pm2的保存功能:
pm2 save
这会将当前运行的进程列表保存到pm2的启动文件中。
4、然后,你需要设置pm2开机自启。pm2提供了一个脚本来处理这个问题:
pm2 startup
5、执行这个命令后,pm2会生成一个适用于你的系统的启动脚本,并告诉你如何启用它。通常,它会输出一个命令,类似于:
sudo systemctl enable pm2-root
6、执行这个命令来启用pm2开机自启。
7、最后,重启你的系统以确保一切正常:
sudo reboot
重启后,pm2应该会自动启动,并且你的应用也应该在后台运行。
14、官方文档:http://pm2.keymetrics.io/docs/usage/update-pm2/#updating-pm2

标签:入门,pm2,--,app,介绍,PM2,应用,进程,name
From: https://www.cnblogs.com/xiangMY/p/18295854

相关文章

  • Linux学习笔记(03)——C编程入门
    vim编辑器需要先安装:sudoapt-getinstallvim使用vimxxx.txt:打开文件一般模式(指令模式):默认模式编辑模式:一般按下“a”进入编辑,按下ESC键可退出编辑模式命令行模式(底行模式):先进入一般模式,后输入:/?任意一个进入保存退出:进入底行模式,下面会出现:可在:后输入x保......
  • 入门的第一课-随笔记录
    Markdown学习标题一级标题:#+空格+标题名称二级标题:##+空格+标题名称三级标题:###+空格+标题名称(最多支持六级标题)字体Hello,World!字体两边各加两个*成为粗体Hello,world!字体两边各加一个*成为斜体Hello,World!斜体加粗则是两边各加三个*9.99两边加两个~则......
  • Qt入门(二):Qt的基本组件
    目录Designer程序面板1、布局Layout打破布局贴合窗口2、QWidget的属性 3、Qlabel标签显示图片  4、QAbstractButton按钮类按钮组 5、QLineEdit单行文本输入框6、ComboBox组合框7、若干与数字相关的组件Designer程序面板Qt包含了一个Designer程序,用于通......
  • Memcached介绍和详解
    Memcached介绍和详解Memcached是一个高性能的分布式内存对象缓存系统,通过在内存中缓存数据来减少数据库的读取次数,从而提高动态Web应用程序的速度和效率。下面将详细介绍Memcached的安装、配置和使用方法。Memcached简介Memcached是一个基于内存的缓存系统,它通常用于缓......
  • Eureka介绍与使用
    Eureka是一个基于REST的服务,主要用于定位服务,以实现云端中间层服务发现和故障转移。它由Netflix开发并开源,是SpringCloud生态系统中的重要组件之一。Eureka主要用于微服务架构中,帮助服务客户端注册和发现服务,从而实现服务的自动管理。Eureka的核心概念服务注册(Ser......
  • 抖音0基础入门/注册/养号/定位/剪辑/剧本拍摄/主播培训/小店
    抖音平台内容创作与变现策略研究本文献为抖音平台的内容创作者和运营者提供了一套系统化的入门教程。涵盖了从注册、养号、内容定位、视频剪辑、剧本创作、拍摄技巧、主播培训到小店变现等多个方面,旨在帮助初学者快速掌握抖音平台的运营策略。1.引言抖音作为当前流行的短......
  • 【乔二参】【借助AI工具】Java零基础从入门到精通【3-1变量常量】
    视频讲解地址【乔二参】【借助AI工具】Java零基础从入门到精通变量Java变量是存储数据值的容器,它们允许程序在内存中存储和操作数据。在Java中,变量必须先声明其类型,然后才能使用。变量类型决定了变量可以存储什么类型的数据(如整数、浮点数、字符、布尔值等)以及可以对该变......
  • 一文通透——Kali Linux基础入门_kali linux 新手教程
    ......
  • 01.前后端分离中台框架后端 Admin.Core 学习-介绍与配置说明
    合集-Admin.Core(6) 1.01.前后端分离中台框架后端Admin.Core学习-介绍与配置说明2023-08-202.02.前后端分离中台框架前端admin.ui.plus学习-介绍与简单使用2023-08-213.03.前后端分离中台框架zhontai项目代码生成器的使用2023-08-224.04.使用githubactions+dock......
  • 华为MLD的介绍配置实例以及配置案例分析-(值得收藏)
    一、华为MLD的介绍华为MLD(MulticastListenerDiscovery)指的是在华为网络设备上实现的IPv6组播侦听者发现协议。MLD是IPv6版本的IGMP(InternetGroupManagementProtocol),用于在IPv6网络中管理和控制组播流。它主要用于在IPv6主机和直接相连的路由器之间建立和维护组播组成......