首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

当应用程序在集群模式下运行时,有没有办法在pm2中调试工作进程

在应用程序在集群模式下运行时,可以使用pm2进行调试工作进程。pm2是一个流行的进程管理工具,可以用于启动、停止、重启和监视应用程序的工作进程。

要在pm2中调试工作进程,可以按照以下步骤进行操作:

  1. 确保已经安装了pm2。可以使用npm全局安装pm2:npm install -g pm2
  2. 在应用程序的根目录下创建一个名为.debug的文件。这个文件将用于指定调试器的配置。
  3. .debug文件中添加以下内容:{ "exec_mode": "cluster", "instances": "max", "node_args": "--inspect=0.0.0.0:9229" }这将启用集群模式,并将调试器绑定到0.0.0.0:9229端口上。
  4. 使用pm2启动应用程序:pm2 start app.js
  5. 打开浏览器,并输入chrome://inspect。然后点击"Open dedicated DevTools for Node"按钮。
  6. 在打开的DevTools中,点击"Add Connection"按钮,并输入localhost:9229作为调试器的地址。
  7. 现在,您可以在DevTools中调试工作进程了。您可以设置断点、查看变量的值,并逐步执行代码。

需要注意的是,pm2的调试功能依赖于Chrome浏览器的开发者工具。因此,确保您的Chrome浏览器是最新版本,并且已经安装了Node.js调试器支持。

推荐的腾讯云相关产品:腾讯云云服务器(CVM)和腾讯云容器服务(TKE)。

  • 腾讯云云服务器(CVM):提供高性能、可扩展的云服务器实例,适用于各种应用场景。了解更多信息,请访问:腾讯云云服务器
  • 腾讯云容器服务(TKE):基于Kubernetes的容器服务,提供高可用、弹性伸缩的容器集群管理能力。了解更多信息,请访问:腾讯云容器服务
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

使用 Node.js Express 的最佳实践

这个警告基本上适用于所有形式的水平扩展,无论是多进程集群还是多物理服务器。 集群应用程序工作进程可以单独崩溃而不影响其余进程。 除了性能优势之外,故障隔离是运行应用进程集群的另一个原因。...每当工作进程崩溃时,请始终确保记录该事件并使用 cluster.fork () 生成一个新进程。 Using PM2 如果使用 PM2 部署应用程序,则无需修改应用程序代码即可利用集群。...使用 PM2 运行应用程序时,您可以启用集群模式具有您选择的多个实例的集群运行它,例如匹配机器上可用 CPU 的数量。...您可以使用 pm2 命令行工具手动更改集群进程数,而无需停止应用程序。...- start 这也可以 PM2 进程文件(ecosystem.config.js 或类似文件)通过将 exec_mode 设置为 cluster 并将实例设置为要启动的工作程序数量来配置。

4K30

使用pm2部署node生产环境

嗯嗯,最好的用处就是监控我们的生产环境的node程序运行状态,让它给我们日以继日的处于工作状态。...再来看看使用pm2可拥有的能力: 日志管理;两种日志,pm2系统日志与管理的进程日志,默认会把进程的控制台输出记录到日志; 负载均衡:PM2可以通过创建共享同一服务器端口的多个子进程来扩展您的应用程序...这样做还允许以零秒停机时间重新启动应用程序。 终端监控:可以终端监控应用程序并检查应用程序运行状况(CPU使用率,使用的内存,请求/分钟等)。...start app.js --watch //监听模式启动,文件发生变化,自动重启 //max 表示PM2将自动检测可用CPU的数量并运行尽可能多的进程 //max可以自定义,如果是4核CPU...true,易导致无限重启,因为日志文件变化,需要排除对其的监听 merge_logs: true, //集群情况,可以合并日志 } ], deploy:

3.8K40

深入理解Node.js 进程与线程(8000长文彻底搞懂)

Web业务开发,如果你有高并发应用场景那么 Node.js 会是你不错的选择。 单核 CPU 系统之上我们采用 单进程 + 单线程 的模式来开发。...如果给定的数字为0,PM2则会根据你CPU核心的数量来生成对应的工作线程。注意一般在生产环境使用cluster_mode模式,测试或者本地环境一般使用fork模式,方便测试到错误。...pm2 reloadNamepm2 restartName 应用程序代码有更新,可以用重载来加载新代码,也可以用重启来完成,reload可以做到0秒宕机加载新的代码,restart则是重新启动,生产环境多用...危害是导致系统资源无法正常释放,一般不推荐使用,除非其他办法都无效。使用此命令时,一定要通过ps -ef确认没有剩下任何僵尸进程。只能通过终止父进程来消除僵尸进程。...难道Javascript不是单线程不知道小伙伴们有没有这个疑问? 解释一这个原因: Node 中最核心的是 v8 引擎, Node 启动后,会创建 v8 的实例,这个实例是多线程的。

1K30

深入理解Node.js 进程与线程(8000长文彻底搞懂)

Web业务开发,如果你有高并发应用场景那么 Node.js 会是你不错的选择。 单核 CPU 系统之上我们采用 单进程 + 单线程 的模式来开发。...如果给定的数字为0,PM2则会根据你CPU核心的数量来生成对应的工作线程。注意一般在生产环境使用cluster_mode模式,测试或者本地环境一般使用fork模式,方便测试到错误。...pm2 reloadNamepm2 restartName 应用程序代码有更新,可以用重载来加载新代码,也可以用重启来完成,reload可以做到0秒宕机加载新的代码,restart则是重新启动,生产环境多用...危害是导致系统资源无法正常释放,一般不推荐使用,除非其他办法都无效。使用此命令时,一定要通过ps -ef确认没有剩下任何僵尸进程。只能通过终止父进程来消除僵尸进程。...难道Javascript不是单线程不知道小伙伴们有没有这个疑问? 解释一这个原因: Node 中最核心的是 v8 引擎, Node 启动后,会创建 v8 的实例,这个实例是多线程的。

2.2K10

Jenkins 远程启动nodejs失败,使用pm2守护Nodejs

-i 0 #根据CPU核数启动进程个数 pm2 start app.js --watch #实时监控app.js的方式启动,app.js文件有变动时,pm2会自动reload 查看进程 pm2 list...通过这个json文件,我们把命令行里面不好描述的各种参数放到一个json文件里面来 pm2 start .json pm2 start命令的json格式详解 ?...运行的应用 name:应用程序名称 cwd:应用程序所在的目录 script:应用程序的脚本路径 log_date_format: error_file:自定义应用程序的错误日志文件 out_file...:自定义应用程序日志文件 pid_file:自定义应用程序的pid文件 instances: min_uptime:最小运行时间,这里设置的是60s即如果应用程序60s内退出,pm2会认为程序异常退出...merge_logs: exec_interpreter:应用程序的脚本类型,这里使用的shell,默认是nodejs exec_mode:应用程序启动模式,这里设置的是cluster_mode(集群

2.4K20

深入理解Node.js 进程与线程(8000长文彻底搞懂)

Web业务开发,如果你有高并发应用场景那么 Node.js 会是你不错的选择。 单核 CPU 系统之上我们采用 单进程 + 单线程 的模式来开发。...如果给定的数字为0,PM2则会根据你CPU核心的数量来生成对应的工作线程。注意一般在生产环境使用cluster_mode模式,测试或者本地环境一般使用fork模式,方便测试到错误。...pm2 reloadNamepm2 restartName 应用程序代码有更新,可以用重载来加载新代码,也可以用重启来完成,reload可以做到0秒宕机加载新的代码,restart则是重新启动,生产环境多用...危害是导致系统资源无法正常释放,一般不推荐使用,除非其他办法都无效。使用此命令时,一定要通过ps -ef确认没有剩下任何僵尸进程。只能通过终止父进程来消除僵尸进程。...难道Javascript不是单线程不知道小伙伴们有没有这个疑问? 解释一这个原因: Node 中最核心的是 v8 引擎, Node 启动后,会创建 v8 的实例,这个实例是多线程的。

91020

分享4个LinuxNode.js的进程管理器

本文中,我们将回顾Linux系统Node.js应用程序管理的四个进程管理器。 1. PM2 PM2是一个开源,高级,功能丰富,跨平台和最流行的Node.js生产级流程管理器,内置负载均衡器。...image.png 安装PM2Linux运行Nodejs应用程序 它支持应用程序监视:提供一种监视应用程序资源(内存和CPU)使用情况的简单方法。...重要的是,PM2支持启动脚本,您可以将其配置为预期或意外的计算机重新启动时自动启动进程。它还支持在当前目录或其子目录修改文件时自动重新启动应用程序。...image.png 用于Nodejs的StrongLoop PM进程管理器 它支持应用程序监视(查看性能指标,如事件循环时间、CPU和内存消耗)、多主机部署、集群模式、零停机应用程序重启和升级、故障时自动进程重启以及日志聚合和管理...Node.js进程,它支持监视文件更改,调试模式应用程序日志,终止进程和退出信号自定义等等。此外,它还支持多种使用选项,您可以直接从命令行传递或将它们传递到JSON文件。 4.

2.8K61

PM2 进程管理工具使用总结

支持进程行为配置 ,即可以通过配置,实现对pm2管理应用的一些基础属性更新修改,如应用名称,启动模式- 等; 支持集群模式,支持负载均衡,但因采用nodejs的cluster模块实现,仅适用于nodejs...,同时运行在不同配置; 支持监听重启,文件更新等情况可实现进程自动重启; 支持linux的startup进程启动,startup是指系统boot, 进程自启动,如centos的chkconfig;...日志管理,两种日志,pm2系统日志与管理的进程日志,默认会把进程的控制台输出记录到日志; 命令自动补全功能,个人感觉这个功能意义不大,而且尝试了一,没有原生的linux命令自动补全反应敏- 捷;...监控功能,pm2 monit监控cpu和memory使用情况,keymetrics监控更为详细; 支持开发调试模式,非后台运行,pm2-dev start ; 支持pm2模块开发,实现pm2的功能扩展;...github上面有作者关于fork模式是否需要实现cron-like定时的讨论: github.com/Unitech/pm2… 官网文档注明说,fork模式的定时重启这个功能不久将实现,期待吧..

2.5K40

Pm2作为进程辅助管理器的简单使用

Pm2 是一个依赖于 Node 的进程管理器,可以自动管理应用的运行并自动配置负载均衡,具有运行监控、自动启动等特性,非常使用于 Issa 构架的应用程序,也可以系统中用于独立应用程序的运行管理。..."app" # 启动应用程序并命名为 "api" $ pm2 start app --watch # 文件变化时自动重启应用 显示 Pm2 监管应用程序 控制台输入即可打印出后台运行的应用程序...$ pm2 list #显示目前运行的应用程序 $ pm2 log #显示应用程序运行时的输出信息 $ pm2 logs APP-NAME #显示指定的应用程序运行时的输出信息...appid 暂停应用程序 #输入运行的appid,可在pm2 list查看 $ pm2 restart appid 重启应用程序 #输入运行的appid,可在pm2 list...查看 $ pm2 delete appid 删除应用程序 #输入运行的appid,可在pm2 list查看 重新载入应用程序以便应用更改 使用以下命令即可在不间断的条件更新应用程序配置

54500

理解NodeJS多进程

序言一次面试,我提到自己用过pm2,面试接着问:「那你知道pm2父子进程通信方式吗」。我大概听说pm2有cluster模式,但不清楚父子进程如何通信。面试结束后把NodeJS的多进程重新整理了一。...为了解决多进程的问题,并解决server场景的端口冲突问题,NodeJS提供了cluster模块。这种同样一份代码多个实例运行的架构叫做集群,cluster就是一个NodeJS进程集群管理的工具。...进程管理:pm2与egg-cluster除了集群管理,实际应用运行时候,还有很多进程管理的工作,比如:进程的启动、暂停、重启、记录当前有哪些进程进程的后台运行、守护进程监听进程崩溃重启、终止不稳定进程...集群管理,支持cluster多进程模式。其他的功能还包括0s reload、日志管理、终端监控、开发调试等等。pm2的大概原理是,建立一个守护进程(daemon),用来管理机器上通过pm2启动的应用。...pm2利用NodeJS的cluster模块实现了集群能力,配置exec_mode为cluster时候,pm2就会自动使用cluster创建多个进程,也就有了负载均衡的能力。

1.1K00

深入理解NodeJS多进程

序言一次面试,我提到自己用过pm2,面试接着问:「那你知道pm2父子进程通信方式吗」。我大概听说pm2有cluster模式,但不清楚父子进程如何通信。面试结束后把NodeJS的多进程重新整理了一。...为了解决多进程的问题,并解决server场景的端口冲突问题,NodeJS提供了cluster模块。这种同样一份代码多个实例运行的架构叫做集群,cluster就是一个NodeJS进程集群管理的工具。...进程管理:pm2与egg-cluster除了集群管理,实际应用运行时候,还有很多进程管理的工作,比如:进程的启动、暂停、重启、记录当前有哪些进程进程的后台运行、守护进程监听进程崩溃重启、终止不稳定进程...集群管理,支持cluster多进程模式。其他的功能还包括0s reload、日志管理、终端监控、开发调试等等。pm2的大概原理是,建立一个守护进程(daemon),用来管理机器上通过pm2启动的应用。...pm2利用NodeJS的cluster模块实现了集群能力,配置exec_mode为cluster时候,pm2就会自动使用cluster创建多个进程,也就有了负载均衡的能力。

1.6K20

【Deploy】记一次Linux程序部署(Python与Dotnet Core)

最近一次工作,涉及python与.net core,应用开发完成,自然就需要在服务器上部署。...来守护我们的应用程序比较了其他守护进程工具之后,觉得pm2真心简单好用,pm2依赖node.js,所以需要安装node.js,使用许多方法,目测下面命令是最简单有效的。..." --name vsphereDataApi --watch # 查看一两个应用的状态,有木有挂掉 $pm2 list # 查看一日志,有没有什么报错 $pm2 log 4.4 其他命令 #...unstartup 移除pm2开机自启动 pm2 save 保存当前进程开机自启动 pm2 start [--name ] 启动应用程序 pm2 list 显示所有进程状态...[,all] 删除指定[所有]进程 pm2 info [进程id或名字] 查看应用程序信息 更多内容,参考官方 5.配置IP 我们的服务器还没有具体指明ip,Centos配置IP

1K10

生产环境的Node.js

PM2 使用PM2在生产中运行Node.js应用程序变得更加容易。 它是一个进程管理器,可以轻松地让您以集群模式运行应用程序。通俗来说,它将为您的主机每个CPU核心都生成一个进程。...首先安装PM2 $ npm install pm2 -g 复制代码 安装完成后,如果您的主源文件是app.js,则通过终端运行此命令来生成PM2守护程序。...$ pm2 start app.js -i 0 复制代码 `-i 0`标志实例个数。这将以集群模式运行Node.js应用程序,其中数字0表示CPU核心数。...你可以手动输入你想要的任何数字,但让PM2计算核心个数并自动产生相应个数的工作进程更简单些。...使用PM2查看Node.js监控数据也很容易 $ pm2 monit 复制代码 此命令将在终端打开仪表板。在这里,您可以监视进程,日志,循环延迟,进程内存和CPU。

1.8K10

【译】10 个 Node.js 最佳实践:来自 Node 专家的启示

提供原生代码 — 使用转译器时,提交本机 JS 代码(构建的结果),以便您的项目可以没有构建的情况运行。 使用 gzip — 呵呵!...扩大规模 — 从 Node 开发的第一天开始就开始考虑集群和无状态服务。使用 pm2 或 strongloop 的集群控制。...nextTick() 同一个循环上工作,与名称相反。啊!这里要注意。 这是来自于事件循环的 Bert Belder 的图表。他清楚地知道事件循环是如何工作的!...它通过简单的函数工厂模式实现,不需要使用prototype、new 或 this。您更新原型(导致所有实例也发生变化)时没有隐式影响,因为功能继承每个对象都使用自己的方法副本。...如果您遵循该模式,请确保您知道它是如何工作的。您可以在此处阅读有关 JavaScript 继承模式的更多信息。 适当地命名 这个很明显。好名字可以作为文档。你更喜欢哪一个?

1.9K20

nodejs实现多进程

cluster模式 Nodejs的cluster模式用的就是第一种实现,它使用一个主线程master和多个子线程worker,形成一个集群,通过主线程来向子线程分发请求。...,可以从这个模块获取进程的信息,以及控制进程的 console.log(`worker ${process.pid} start`) image.png 创建cluster 在下面程序,会首先判断有没有进程...,如果没有,就创建进程,它会默认第一个进程为主进程 源码,是调用cluster.fork()方法时,会执行setupPrimary方法创建主进程,它会使用initialized标识是否为true会判断是否为首次创建...PM2 PM2是后台进程管理器,是多进程方案的一个成熟应用,可以帮助管理和保持应用程序在线。...(程序):restart app_name 重载(配置和程序):reload app_name 停止:pm2 stop app_name 删除:pm2 delete app_name 监听模式

81850

使用 pm2 守护你的 .NET Core 应用程序

在这里我就搬出本文的主角 pm2,通过 pm2 来让进程后台运行。 三. pm2介绍 pm2 从名字上和我们平时在生活接触到的 pm2.5 有点像,不过他们可不是一个东西。...博主经过长期的 Linux 的摸爬滚打,最终发现使用pm2来守护 .NET Core 进程完全没有问题,除了 nodejs 其他的很多程序都是可以的。...这里需要说明一是使用 pm2 来让进程后台运行,因为如果不是 nodejs 程序, pm2的一些为nodejs准备的功能可能是无法使用的,但是对于我们守护 .NET Core 应用程序足够了。...四.pm2的安装以及使用 4.1 安装 4.1.1 安装 nodejs 使用pm2需要安装nodejs,这个网上很多资料,就不再本文详细说明了,我前面写过一篇 Centos 7安装的文章,传送门。...我们可以清晰的看到我们的应用程序的 pid、运行状态、重启次数(应用程序崩溃重启/手动重启)、运行时间、cpu和内存占用等。

1.3K20

Nodejs学习笔记(十三)— PM2

/package/pm2   使用体会:   1.简单易用、后台运行、快速部署,常用到的命令就几个   2.可轻松集群模式启动   3.可以无宕机重暂应用程序,保持不断连接的情况轻松重载代码   4....从上图可以看出进程ID为0,所以通过进程ID可以关闭,然后这种方式不易记,下面我看看其它方式启动和关闭 其它方式启动/关闭 启动项目,并命名一个应用程序pm2 start app.js --name...从PM2删除 pm2 delete test   当然也可以pm2 delete 进程ID  重载和重启   当应用程序代码有更新,可以用重载来加载新代码,也可以用重启来完成 pm2 reload...all 集群   上面从图中可以看出mode是“fork”   开发环境多以fork的方式启动,生产环境多用cluster方式启动   启动方式 pm2 start app.js -i 2 --name...建议:这个适合在开发时用,可以省不少时间,生产环境最好不要用   list pm2 list   可以列出pm2所有项目   monit pm2 monit ?

1.4K70
领券