标签: supervisord

如何使用supervisorctl仅重启某些进程?

我正在使用supervisord运行一些进程,名为process1,process2,...,process8.如果我想重启进程{1-4},我怎么能用supervisorctl做到这一点?

supervisord

98
推荐指数
2
解决办法
9万
查看次数

Supervisor套接字错误问题

$ supervisorctl reread
error: <class 'socket.error'>, [Errno 111] Connection refused: file: /usr/lib64/python2.6/socket.py line: 567
Run Code Online (Sandbox Code Playgroud)

我正在尝试在我的生产系统上配置主管,但是我遇到了这个错误.管理程序日志文件为空.

当我输入时supervisorctl,它会抱怨:

http://localhost:9001 refused connection
Run Code Online (Sandbox Code Playgroud)

目前没有任何东西正在侦听端口9001,AFACT:lsof | grep TCP什么都不返回.

supervisord

90
推荐指数
5
解决办法
7万
查看次数

主管和环境变量

我真的不知道如何让主管使用环境变量.

以下是配置代码段.

[program:htNotificationService]
priority=2
#autostart=true
#autorestart=true
directory=/home/ubuntu/workspace/htFrontEnd/heythat/htsite
command = /usr/bin/python htNotificationService.py -service
stdout_logfile=/var/log/heythat/htNotificationService.log
redirect_stderr=true
environment=PATH=/home/ubuntu/workspace/htFrontEnd/heythat
stopsignal=QUIT
Run Code Online (Sandbox Code Playgroud)

我尝试过以下方法:

environment=PATH=/home/ubuntu/workspace/htFrontEnd/heythat
environment=PYTHONPATH=$PYTHONPATH:/home/ubuntu/workspace/htFrontEnd/heythat
environment=PATH=/home/ubuntu/workspace/htFrontEnd/heythat,PYTHONPATH=$PYTHONPATH:/home/ubuntu/workspace/htFrontEnd/heythat
Run Code Online (Sandbox Code Playgroud)

当我开始上司时,我得到了

htNotificationService: ERROR (abnormal termination)
Run Code Online (Sandbox Code Playgroud)

我可以通过设置python路径从shell开始,但不能从主管开始.在日志中,我收到一条错误消息,指出无法找到导入.好吧,如果主管能够工作,那就可以解决.我甚至在/ etc/environment中有路径?

为什么主管不工作?

environment-variables supervisord

63
推荐指数
5
解决办法
6万
查看次数

监督停止子进程

我面对的一个问题是,当我有一个命令反过来产生另一个进程时,supervisord无法杀死它.

例如,我有一个java进程,当正常运行时就像

 $ zkServer.sh start-foreground
 $ ps -eaf | grep zk
 user 30404 28280  0 09:21 pts/2    00:00:00 bash zkServer.sh start-foreground
 user 30413 30404 76 09:21 pts/2    00:00:10 java -Dzookeeper.something..something
Run Code Online (Sandbox Code Playgroud)

supervisord配置文件如下所示:

[program:zookeeper]
command=zkServer.sh start-foreground
autorestart=true
stopsignal=KILL
Run Code Online (Sandbox Code Playgroud)

当涉及到阻止它们时,这些具有多个孩子的过程在监督下不能很好地处理supervisorctl.因此,当我从supervisord运行它并尝试从supervisorctl停止它时,只有顶级进程被杀死但不是实际的java进程.

bash supervisord ubuntu-11.04 apache-zookeeper

54
推荐指数
4
解决办法
2万
查看次数

在Ubuntu中设置nginx和管理程序

我正在使用django-gunicorn-nginx设置,遵循本教程http://ijcdigital.com/blog/django-gunicorn-and-nginx-setup/ Upto nginx setup,它正在运行.然后我安装了主管,配置它然后我重启我的服务器并检查,它显示502坏网关.我正在使用Ubuntu 12.04 LTS

/etc/supervisor/conf.d/qlimp.conf

[program: qlimp]
directory = /home/nirmal/project/qlimp/qlimp.sh
user = nirmal
command = /home/nirmal/project/qlimp/qlimp.sh
stdout_logfile = /path/to/supervisor/log/file/logfile.log
stderr_logfile = /path/to/supervisor/log/file/error-logfile.log
Run Code Online (Sandbox Code Playgroud)

然后我重新启动主管,我运行此命令$ supervisorctl start qlimp,我收到此错误

unix:///var/run/supervisor.sock no such file
Run Code Online (Sandbox Code Playgroud)

我的主管设置有问题吗?

谢谢!

python apache django nginx supervisord

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

python 3的supervisord?

想要使用supervisord来控制我的Python 3项目的进程.具体说明"已知Supervisor可以使用Python 2.4或更高版本,但不能在任何版本的Python 3下工作".

有关Python 3替换主管的建议吗?

python python-3.x supervisord

50
推荐指数
5
解决办法
4万
查看次数

如何在Supervisor服务中设置环境变量

如何在Supervisor执行的命令中导出环境变量?我第一次尝试:

command="export SITE=domain1; python manage.py command"
Run Code Online (Sandbox Code Playgroud)

但是Supervisor报告"找不到命令".

那么我试过:

command=/bin/bash -c "export SITE=domain1; python manage.py command"
Run Code Online (Sandbox Code Playgroud)

并且命令运行,但这似乎干扰了守护进程,因为当我停止Supervisor守护进程时,它正在运行的所有其他守护进程都没有停止.

python supervisord

49
推荐指数
2
解决办法
3万
查看次数

通过主管监督virtualenv django应用程序

我正在尝试使用主管来管理我的django项目,在virtualenv中运行gunicorn.我的conf文件如下所示:

[program:diasporamas]
command=/var/www/django/bin/gunicorn_django
directory=/var/www/django/django_test
process_name=%(program_name)s
user=www-data
autostart=false
stdout_logfile=/var/log/gunicorn_diasporamas.log
stdout_logfile_maxbytes=1MB
stdout_logfile_backups=2
stderr_logfile=/var/log/gunicorn_diasporamas_errors.log
stderr_logfile_maxbytes=1MB
stderr_logfile_backups=2enter code here
Run Code Online (Sandbox Code Playgroud)

问题是,我需要主管在我的virtualenv中运行'source bin/activate'之后启动命令.我一直在谷歌试图寻找答案,但没有找到任何答案.

注意:我不想使用virtualenvwrapper

有什么帮助吗?

django pip virtualenv supervisord

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

Debian Wheezy的主管:另一个程序已经在侦听我们的一个HTTP服务器配置使用的端口

当我运行时service supervisor start遇到以下错误:

Starting supervisor: Error: Another program is already listening on a port that one of our HTTP servers is configured to use.  Shut this program down first before starting supervisord.
For help, use /usr/bin/supervisord -h
Run Code Online (Sandbox Code Playgroud)

/var/log/superuser/supervisord.log的内容:

2014-08-04 16:25:45,891 CRIT Supervisor running as root (no user in config file)
2014-08-04 16:25:45,891 WARN Included extra file "/etc/supervisor/conf.d/com.domain.subdomain.conf" during parsing
Run Code Online (Sandbox Code Playgroud)

知识
渊博的东西: - 我在数字海洋服务器上使用Debian Wheezy.
- 我试图检查端口管理程序在具有相同规格的干净Vagrant框中使用,但我有相同的错误.

我怎样才能检查哪个端口是此错误的来源?

debian supervisord

44
推荐指数
5
解决办法
3万
查看次数

Supervisorctl不尊重我的配置

我在下面列出了以下内容/home/david/conf/supervisor.conf:

[unix_http_server]
file=/home/david/tmp/supervisor.sock

[supervisord]
logfile=/home/david/tmp/supervisord.log  ; (main log file;default $CWD/supervisord.log)
logfile_maxbytes=50MB                    ; (max main logfile bytes b4 rotation;default 50MB)
logfile_backups=10                       ; (num of main logfile rotation backups;default 10)
loglevel=info                            ; (log level;default info; others: debug,warn,trace)
pidfile=/home/david/tmp/supervisord.pid  ; (supervisord pidfile;default supervisord.pid)
nodaemon=false                           ; (start in foreground if true;default false)
minfds=1024                              ; (min. avail startup file descriptors;default 1024)
minprocs=200
childlogdir=/home/david/tmp

[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface

[supervisorctl]
serverurl=unix:///home/david/tmp/supervisor.sock
Run Code Online (Sandbox Code Playgroud)

并开始:

$ supervisord -c /home/david/conf/supervisor.conf
Run Code Online (Sandbox Code Playgroud)

但是为什么supervisorctl还会使用默认值http://localhost:9001作为serverurl? …

supervisord

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