问题标签 [pm2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
9655 浏览

javascript - 如何在 pm2 中使用 Grunt/Gulp?

pm2 是管理节点应用程序的好工具。它如何与 grunt/glup 一起使用?谷歌搜索 20 分钟后,我没有找到任何有用的线索。

0 投票
1 回答
715 浏览

node.js - 使用 pdsh 远程运行 node.js pm2

在 pm2(pm2 start app.js)的帮助下,我有 4 台运行 node.js 的服务器。我想使用 pdsh 从另一台服务器的所有 4 台服务器上重新启动 pm2,但是当我运行时:

它返回:

我也做了类似的事情:

并发生同样的错误。

谢谢

0 投票
1 回答
2638 浏览

javascript - node.js - PM2 将未捕获的异常记录到第三方服务(作为 Logentries)

我在我的 node.js 项目中使用 pm2 ( https://github.com/Unitech/pm2 )。我还在 Logentries ( https://logentries.com ) 中发送应用程序的错误日志。

我想知道是否可以从应用程序中记录未捕获的异常(例如,当某些事情严重失败并且 pm2 重新启动应用程序时)?我知道使用process.on('uncaughtException')是不好的做法,所以想听听一些建议。

谢谢!

0 投票
0 回答
1124 浏览

node.js - 日志不是由 Forever 或 PM2 写入的

我正在尝试部署一个 node.js 应用程序,并将日志写入/var/log/nodejs/myapp.

我已经尝试过ForeverPM2,但是即使日志目录具有正确的权限并且我传递了正确的选项(我认为),也不会创建文件。

对于 Forever,我以这种方式启动应用程序:

启动后,如果我运行forever logs,我看到它正在保存到默认.forever/目录。

对于 PM2,我也使用了相应的日志选项,但没有写入任何内容。该pm2 logs命令向我显示所有日志信息,但没有创建文件。

有任何想法吗?

0 投票
0 回答
983 浏览

javascript - 使用 PM2 进行负载均衡

我在具有两个 CPU 内核的机器上使用 PM2 对 Node.js (10.32) 简单脚本进行负载平衡时遇到问题。

脚本如下:

如果我运行pm2 start -i max script.js,两个子进程似乎成功启动(根据pm2 list),但请求http://localhost:81挂起。

如果我运行pm2 start -i max -x script.js,第一个子进程会成功启动,但第二个子进程会永远重启(出现 EADDRINUSE 错误)。

我检查过lsof,在运行 PM2 之前没有使用端口 81。

0 投票
4 回答
49866 浏览

node.js - pm2节点模块能否在crash后自动重​​启app

我有一个可用的 Node.js 应用程序,但有已知和未知的错误会导致应用程序崩溃。pm2在这种情况下,如果可以重新启动节点应用程序会很好。此功能是否已在 中可用pm2

0 投票
1 回答
2236 浏览

javascript - 退出时的node.js pm2

我正在使用 pm2 来运行节点应用程序。我必须在应用程序关闭之前保存数据。这段代码在 shell 中运行良好:

当我使用“pm2 stop”停止应用程序时,代码不起作用。我认为 pm2 会杀死进程。

0 投票
5 回答
17025 浏览

node.js - 更新 Node.js 后更新 PM2 的正确方法

将 Node.js 从 v10.16 更新到 v10.32 后,未检测到 PM2,但使用 ps aux 检查时运行良好。即使在系统重新启动时,即使手动 PM2 命令导致以下类型的错误,PM2 也能正常工作。

pm2 list pm2: 找不到命令

将 Node.js 切换回 10.16,PM2 命令再次可用。仅供参考 PM2 最初安装在 v10.16 下。

虽然在 v10.32 中尝试了 PM2 install 命令 npm install pm2 -g 但必须使用命令 npm install pm2 -g --unsafe-perm 才能运行。

Node.js v10.16 现在运行 PM2 v10.1。Node.js v10.32 现在运行 PM2 v10.8。

这是保持 PM2 版本同步并使用 Node 升级/更改的正确方法吗?这是否需要在安装每个新版本的 Node 后发生?

0 投票
1 回答
109 浏览

node.js - 如何在不终止现有连接的情况下更新 nodejs 应用程序的部署

nginx用作运行 nodejs 应用程序的服务器中的反向代理。pm2节点模块用于启动应用程序。当必须部署 nodejs 应用程序的新版本时,我想启动最新 node 应用程序的新实例,并且所有新传入的请求都应该由这个新的 nodejs 应用程序实例提供服务。

一旦所有现有请求(即在新的 nodejs 应用程序启动之前连接)断开连接,旧的 nodejs 应用程序实例应该退出。

如何获得这种设置。

0 投票
1 回答
1169 浏览

node.js - SlimerJS extensions.getAddons.cache.enabled

我在通过 CasperJS 运行 SlimerJS 时遇到问题,我收到下一条消息“ 1414441945905 addons.repository WARN cacheEnabled: Couldn't get pref: extensions.getAddons.cache.enabled”

我有一个以 CasperJS 和 Slimer (0.9.3) 作为引擎运行的 nodejs刮板。该进程由另一个进程执行(作为 child_process.spawn)。此外,此过程与 PM2 一起安排。它运行正常,但有时会抛出此错误,然后挂断,有什么想法吗?