相关疑难解决方法(0)

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

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

正如laravel 建议的那样,我们的 php 团队使用supervisord 来管理他们的 php 进程。现在我们正在研究使用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
Run Code Online (Sandbox Code Playgroud)

process-management node.js supervisord pm2

6
推荐指数
1
解决办法
1987
查看次数

标签 统计

node.js ×1

pm2 ×1

process-management ×1

supervisord ×1