问题标签 [supervisord]

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 投票
1 回答
1724 浏览

c++ - System() 失败,返回值 255/-1(8 位表示)

我有一个可执行文件,它有一些系统命令(基本上它会复制和运行脚本文件)。当我在独立测试时(像使用 sudo 一样自己启动可执行文件)system()工作正常。

现在我将我的可执行文件与supervisord. 我的可执行文件的功能运行良好,但system()命令失败并显示 255 / -1(8 位表示)。

我检查的事情清单:

  1. 进程当前工作目录正确
  2. Supervisord 和我的进程以 root 身份运行
  3. 目录和文件的chown是root

还有其他建议吗?

0 投票
1 回答
1232 浏览

python - 无法获得 supervisord 监控进程的输出

我创建了一个测试可执行文件,以查看是否可以捕获由 Supervisord 监控的程序的输出。

测试器.py:

supervisord.conf:

但是当我尝试tail在 supervisorctl 的进程上运行时,什么都没有。

0 投票
1 回答
8402 浏览

apache-zookeeper - 使用 Supervisord 监督 ZooKeeper

正如 ZooKeeper 的文档中所说,有必要使用 daemontools 之类的工具对其进行监督。但是文档没有提供任何示例,我知道启动 ZooKeeper 的唯一方法是运行 bin/zkServer.sh start。我打算使用 supervisord 来完成这项工作,但是如何编写 [program:zookeeper] 部分超出了我的范围。任何例子都会很棒。谢谢。

到目前为止,有两种解决方案:

  1. 使用来自 github 的最新代码,它提供 stopasgroup 和 killasgroup 选项。
  2. 执行 bin/zkServer.sh print-cmd,并将输出复制到 supervisord 的 'command' 选项,删除管道参数,并添加 stdout_logfile、stderr_logfile。如下所示:
0 投票
1 回答
1983 浏览

django - Django:文件权限媒体和静态文件

我将 Django 与主管一起使用。我的项目文件夹位于foouser目录中,但是在主管中,我选择使用不同的用户运行部署过程,该用户由

因此,用户 www 无权访问 django 项目的媒体和静态文件夹,因为它们位于不同的用户目录下。我觉得仅授予文件权限0777并不是允许用户www访问静态和媒体文件的正确方法。我也觉得运行foouser与 user 相比具有更多权限的部署过程可能存在安全风险www

最好的方法是什么?

0 投票
1 回答
1462 浏览

javascript - Dotcloud nodejs supervisord.conf 不工作

我一直在尝试让主管监视我的 nodejs 服务器进程,但是我在让 supervisord.conf 工作时遇到了问题。部署时,我收到以下错误:

但是,当我 ssh 进入 dotcloud 服务器并手动启动 nodejs 进程时,它运行得很好,表明主管无法启动节点实例。

我的 supervisord.conf 看起来像这样:

我的目录结构如下:

在这一点上,我看不出我做错了什么,因为这似乎与此处概述的目录结构相同,所以我对解决方案是什么感到茫然。有任何想法吗?

编辑:

尝试后supervisorctl status我得到以下信息:

我发现在 /var/log/supervisor 中,我收到以下错误消息:

我不确定是什么原因造成的。

0 投票
2 回答
22082 浏览

linux - 使用 supervisord 优于 monit 有什么优势

我们有一个自定义设置,其中运行了多个守护进程(Web 应用程序 + 后台任务)。我正在考虑使用一种服务来帮助我们监控这些守护进程,并在它们的资源消耗超过一个级别时重新启动它们。

我会很感激任何关于什么时候比另一个更好的见解。据我了解,monit 启动了一个新进程,而 supervisord 启动了一个子进程。这种方法的优缺点是什么?

我还将使用 upstart 来监控 monit 或 supervisord 本身。webapp 部署将使用 capistrano 完成。

谢谢

0 投票
3 回答
38173 浏览

python - supervisor.conf 默认位置

我试图进行自动部署,包括 supervisord 和默认设置路径混淆。

/etc/supervisor/supervisor.conf我发现使用的每个部署方案都/etc/supervisor/conf.d/没有任何预设和链接,此外,在通过 apt-get 安装主管包后,此路径实际上由示例配置填充。

在此示例中,流程看起来像这样,没有任何链接和创建类似/etc/supervisor.conf

但是在supervisorctl此路径中未指定为默认路径,并且假定默认位置在附近某处/etc/supervisor.conf,因此在手册中指定

我尝试了所有可能的方式安装主管,但我无法得到结果。

我知道这只是一些愚蠢的小细节,但我将非常感谢您帮助我保持良好的部署方案。

0 投票
4 回答
42655 浏览

python - 您的服务器套接字侦听积压限制为 100 个连接

我在 uwsgi 上运行一个烧瓶应用程序。我使用主管来管理 uwsgi 进程。我发现日志说

您的服务器套接字侦听积压限制为 100 个连接。

如何克服 100 个连接的限制?我的运行脚本如下:

0 投票
2 回答
5866 浏览

python - Supervisord 无法启动 Tornado 服务器

我花了 6 个小时试图找出它为什么不起作用。真的不知道为什么。提前致谢!

注意:以下设置在 ubuntu 服务器上完美运行,但在我的本地 MacOSX 上失败

这是我的supervisord.conf:

这是我在 conf.d 文件夹下的 tornado.conf:

运行后

我得到了这些日志。

注意:我看到了“ImportError:没有名为 tornado.httpserver 的模块”错误。但是当我尝试从带有“

服务器启动没有任何问题。这让我很困惑,为什么 supervisord 无法启动它。

更新:我不知道为什么,但我通过以下方式启动了服务器:

然后启动supervisord。一切运行正常。但是还是不知道为什么在我的普通用户horace下,我无法启动它。(导入 tornado.httpserver 模块)

有人知道原因吗?谢谢。

0 投票
1 回答
3035 浏览

logging - 主管空日志文件

我一直在搞乱主管日志文件的功能。程序写入标准输出:

当我从主管运行它时,我已经创建了日志文件,但stdout_logfile总是空的。当我把东西弄乱了sample.rb,所以我有任何异常,它被成功写入stdout_logfile由于redirect_stderr.

主管配置文件:

为什么我看不到输出stdout_logfile