标签: supervisord

主管未加载新的配置文件

我在使用 Gunicorn 和 Supervisor 部署 Django 应用程序时遇到问题。虽然我可以让 Gunicorn 为我的应用程序提供服务(通过设置适当的 PYTHONPATH 并运行适当的命令,即来自 supervisord 配置的命令),但我无法让主管运行它。它只是看不到我的应用程序。我不知道如何确定配置文件是否正常。

这是 supervisorctl 所说的:

# supervisorctl start myapp_live
myapp_live: ERROR (no such process)
Run Code Online (Sandbox Code Playgroud)

我在 Ubuntu 10.04 上使用以下配置运行它:

文件 /home/myapp/live/deploy/supervisord_live.ini:

[program:myapp_live]
command=/usr/local/bin/gunicorn_django --log-file /home/myapp/logs/gunicorn_live.log --log-level info --workers 2 -t 120 -b 127.0.0.1:10000 -p deploy/gunicorn_live.pid webapp/settings_live.py
directory=/home/myapp/live
environment=PYTHONPATH='/home/myapp/live/eco/lib'
user=myapp
autostart=true
autorestart=true
Run Code Online (Sandbox Code Playgroud)

在 /etc/supervisor/supervisord.conf 文件的末尾,有:

[include]
files = /etc/supervisor/conf.d/*.conf
Run Code Online (Sandbox Code Playgroud)

这是我的配置文件的符号链接:

# ls -la /etc/supervisor/conf.d
lrwxrwxrwx 1 root root   48 Dec  4 18:02 myapp-live.conf -> /home/myapp/live/deploy/supervisord_live.ini
Run Code Online (Sandbox Code Playgroud)

对我来说一切都很好,但 supervisorctl 只是一直说myapp_live: ERROR (no …

deployment supervisord gunicorn

86
推荐指数
6
解决办法
13万
查看次数

Supervisor HTTP 服务器端口问题

我有主管设置来管理一些流程。当我启动我的服务器时它工作得很好,但是当我停止它并尝试再次启动它时它失败并给我这个错误消息:

 * 启动 Supervisor 守护进程管理器...
错误:另一个程序已经在监听我们的一个 HTTP 服务器配置为使用的端口。在启动 supervisord 之前先关闭这个程序。
如需帮助,请使用 /usr/bin/supervisord -h
   ...失败!

我在端口 80 上运行 nginx,在端口 8000、8001、8002、8003 上运行 4 个 Web 服务器

有谁知道发生了什么?

当我重新启动时一切正常。

supervisord

66
推荐指数
2
解决办法
5万
查看次数

如何在 Linux (Ubuntu) 上自动启动 supervisord

Supervisord 不附带初始化脚本或不指示如何自动启动它,即。重启后。我尝试了一些用户提供的 /etc/init.d 脚本,但它们都失败了。

什么是首选的解决方案?

linux python daemon supervisord

38
推荐指数
4
解决办法
14万
查看次数

作业退出时从 supervisord 获得通知

有什么方法supervisord可以自动重新启动失败/退出/终止的作业并向我发送一封通知电子邮件,其中包含日志文件最后 x 行的转储?

monitoring logging supervisord

37
推荐指数
1
解决办法
1万
查看次数

如何一次控制整个主管组?

我已经定义了一个非同质的主管组。但是我无法使用组名控制该组。

如果我尝试,我会收到以下错误:

$ supervisorctl start groupname
groupname ERROR (no such process)
Run Code Online (Sandbox Code Playgroud)

但是,我可以控制组的单个元素,例如 supervisorctl start groupname:programname

是否可以一次控制整个组(启动/停止/重新启动组中的所有程序)?如果是这样,如何?

supervisord

27
推荐指数
1
解决办法
2万
查看次数

Supervisord:如何附加到 $PATH

我似乎无法弄清楚如何附加到 supervisord 程序配置中的默认路径。

我可以重置路径:

environment=PATH="/home/site/environments/master/bin"
Run Code Online (Sandbox Code Playgroud)

但是当我尝试:

environment=PATH="/home/site/environments/master/bin:$PATH"
Run Code Online (Sandbox Code Playgroud)

我看到 supervisord 不评估$PATH.

出于某种原因,谷歌在这方面没有太大帮助,我不敢相信我是第一个需要这个的人。

Supervisord 必须对此提供支持,知道它是什么吗?

supervisord

25
推荐指数
1
解决办法
2万
查看次数

Supervisord - CentOS 上的 ini 文件错误

我在 CentOS 6.5 上安装了 Supervisor,目前遇到了一些我似乎无法修复的奇怪错误。

supervisord.conf/etc目录中创建了一个文件并像这样调用主管:

$ supervisord -c /etc/supervisord.conf 
Run Code Online (Sandbox Code Playgroud)

这看起来很基本。但是这个错误一直出现:

Error: .ini file does not include supervisord section
Run Code Online (Sandbox Code Playgroud)

我的 supervisord.conf 文件看起来像:

[program:supervisord]
command=/usr/local/bin/run_queue.sh
autostart=true
autorestart=true
stderr_logfile=/var/log/laraqueue.err.log
stdout_logfile=/var/log/laraqueue.out.log
Run Code Online (Sandbox Code Playgroud)

有人知道这里有什么问题吗?

linux centos supervisord

25
推荐指数
1
解决办法
3万
查看次数

主管总是以“退出状态 0”退出进程;没想到'

我目前正在重建我的 vps,我想使用主管来管理我的 gunicorn/wsgi django 进程。事情是,主管不断退出进程:

2010-07-23 14:54:40,575 INFO supervisord started with pid 31391
2010-07-23 14:54:41,582 INFO spawned: 'projectx' with pid 31395
2010-07-23 14:54:41,691 INFO exited: projectx (exit status 0; not expected)
2010-07-23 14:54:42,695 INFO spawned: 'projectx' with pid 31401
2010-07-23 14:54:42,801 INFO exited: projectx (exit status 0; not expected)
2010-07-23 14:54:44,806 INFO spawned: 'projectx' with pid 31404
2010-07-23 14:54:44,912 INFO exited: projectx (exit status 0; not expected)
2010-07-23 14:54:47,917 INFO spawned: 'projectx' with pid 31408
2010-07-23 14:54:48,022 INFO exited: projectx …
Run Code Online (Sandbox Code Playgroud)

supervisord

15
推荐指数
2
解决办法
5万
查看次数

Supervisor中的目录设置

我正在配置主管守护程序以启动/停止 Celery。

这没用。在来回调试后,我意识到问题在于它没有将工作目录更改为程序部分下 supervisord.conf 中的目录选项中提到的目录。

希望workdir芹菜中有一个,但我很好奇 - 那么这个directory选项的目的是什么?

如果您通过主管运行脚本并打印pwd它将输出/

supervisord

15
推荐指数
1
解决办法
2万
查看次数

如果以 0 结果退出,如何退出所有主管进程

我用这样的主管运行 docker 容器:

文件

CMD ["/run.sh"]
Run Code Online (Sandbox Code Playgroud)

运行文件

#!/usr/bin/env bash
exec supervisord -n
Run Code Online (Sandbox Code Playgroud)

主管-serf.conf

[group:job]
programs=serf,producer

[program:serf]
command=/start-serf-agent.sh
numprocs=1
autostart=true
autorestart=unexpected
stopasgroup=true
killasgroup=true
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0
Run Code Online (Sandbox Code Playgroud)

start-serf-agent.sh

#!/bin/bash
exec serf agent --join=serf:7946 -tag role=producer
Run Code Online (Sandbox Code Playgroud)

supervisor-service.conf

[program:producer]
command=/start.sh
numprocs=1
stopasgroup=true
killasgroup=true
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0
Run Code Online (Sandbox Code Playgroud)

启动文件

#!/bin/bash
exec /producer --project=${NAME}
Run Code Online (Sandbox Code Playgroud)

制作人停止后,我得到了:

producer_1 |     2016/02/29 21:59:50 [INFO] serf: EventMemberLeave: 7c4fbc80af97 172.19.0.2
producer_1 | 2016/02/29 21:59:51 INF    1 stopping
producer_1 | 2016/02/29 21:59:51 INF    1 exiting router
producer_1 | 2016-02-29 21:59:51,281 INFO exited: …
Run Code Online (Sandbox Code Playgroud)

linux process containers supervisord docker

15
推荐指数
2
解决办法
1万
查看次数