使用supervisord代替pm2来管理nodejs进程

问题描述 投票:0回答:1

我们目前使用 pm2 来保持 Nodejs 进程的活动,我们不使用集群模式(以及相关的负载平衡功能)。

我们的 php 团队使用supervisord 来实时管理他们的 php 进程,正如 laravel 建议的那样。现在我们正在研究使用supervisord 来管理我们的nodejs 进程的可能性。 我们主要需要进程管理器做两件事,保持进程处于活动状态并在进程崩溃和重新启动时记录事件。

在保持进程存活方面,我确实发现 pm2 和supervisord 有一些相似之处。但pm2有更多重启政策,例如pm2 有一个 CRON 时间,而supervisord 没有(如果我错了,请纠正我)。如果没有 cron time 功能,我们将不得不求助于 cronjob,所以这是一个很好的功能,但不是必须的。

supervisord进程组优先级,根据我使用节点的经验,我没有找到很多用例。

所以对我们来说,这似乎是可行的,但是我们没有足够的supervisord经验,我们担心我们可能会在这里错过一些东西,特别是像你这样的大佬一开始就不应该这样做!以前有人这样做过吗?

顺便说一句,我的问题与在虚拟环境中使用node.js pm2运行python脚本

相反

---更新---

最近又有人问我这个问题。

这对我来说不是优先考虑的事情,所以我没有进一步调查这个问题。但是因为我在 pm2 中没有使用集群,所以我绝对认为这是可行的,请查看这篇文章使用supervisor永远运行NodeJs应用程序,supervisor conf文件应该如下所示,

[program:start_script]
command=/var/www/nodeapp/start.sh
autostart=true
autorestart=true
stderr_logfile=/var/log/start.err.log
stdout_logfile=/var/log/start.out.log
node.js pm2 supervisord process-management
1个回答
-2
投票

当您使用pm2或supervisord时,崩溃消息将被pm2或supervisord隐藏。所以关键是,当worker崩溃时,你应该有能力知道它,比如破解pm2程序,当worker崩溃时,向监控系统发送消息。

© www.soinside.com 2019 - 2024. All rights reserved.