我正在使用supervisord运行一些进程,名为process1,process2,...,process8.如果我想重启进程{1-4},我怎么能用supervisorctl做到这一点?
$ 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什么都不返回.
我真的不知道如何让主管使用环境变量.
以下是配置代码段.
[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中有路径?
为什么主管不工作?
我面对的一个问题是,当我有一个命令反过来产生另一个进程时,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进程.
我正在使用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)
我的主管设置有问题吗?
谢谢!
想要使用supervisord来控制我的Python 3项目的进程.具体说明"已知Supervisor可以使用Python 2.4或更高版本,但不能在任何版本的Python 3下工作".
有关Python 3替换主管的建议吗?
如何在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守护进程时,它正在运行的所有其他守护进程都没有停止.
我正在尝试使用主管来管理我的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
有什么帮助吗?
当我运行时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框中使用,但我有相同的错误.
我怎样才能检查哪个端口是此错误的来源?
我在下面列出了以下内容/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 ×10
python ×3
django ×2
apache ×1
bash ×1
debian ×1
nginx ×1
pip ×1
python-3.x ×1
ubuntu-11.04 ×1
virtualenv ×1