
本文共 14644 字,大约阅读时间需要 48 分钟。
���������
���������������������������������������������������������������������������������������������������������nohup���&���screen���������������������������������start/stop/restart/reload������������������������������������������������������������������������������
Supervisor������Python���������������������������������������������������������������������������������������������daemon������������������������������������������������������������������������fork/exec������������������������������������������supervisor���������������������������������������supervisor���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������supervisor������������������������������������supervisord���������������������������������������root���user���������user������������������������������������
���������
1���easy_install ���������easy_install supervisor2���pip ���������pip install supervisor3���Debian / Ubuntu������������������apt���������apt-get install supervisor
1���������apt-get install������������supervisor���������������������
/etc/supervisor/supervisord.conf
supervisor���������������������������������������������������������������������������������������������������������������������������������������������
/etc/supervisor/conf.d/*.conf
������������������������������������������������������������������������������������supervisor���������������������/etc/supervisor/conf.d/���������������.conf������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/etc/supervisor/conf.d/test.conf������
#���������[program:blog]#������������directory=/opt/bin#������������������command=/usr/bin/python /opt/bin/test.py#supervisor������������������������������������������������Trueautostart=true#���������exit������������������program������������������,������unexpected#������������������������������������������������������������������false,unexpected���true������������false������������������������������������������������������������������������unexpected���������������������������������������������exitcodes���������������autorestart=false#���������������������������������������������������������������������running������������������������������������������������1startsecs=1#������������ stderr_logfile=/tmp/blog_stderr.log stdout_logfile=/tmp/blog_stdout.log #��������������������������� user = zhoujy #��� stderr ������������ stdout��������� falseredirect_stderr = true#stdout ��������������������������� 50MBstdout_logfile_maxbytes = 20M#stdout ���������������������stdout_logfile_backups = 20[program:zhoujy] #������������directory=/opt/bin command=/usr/bin/python /opt/bin/zhoujy.py autostart=true autorestart=false stderr_logfile=/tmp/zhoujy_stderr.log stdout_logfile=/tmp/zhoujy_stdout.log #user = zhoujy
2���������easy_install���������������������������������������������������������
���������������������������������������������������������������������������������������������������������������������������������������
1��������� echo_supervisord_conf������������������������echo_supervisord_conf2������������������������echo_supervisord_conf > /etc/supervisord.conf
���������������������������������������������������supervisor������;[program:theprogramname]������������
������������������
���������
;[program:theprogramname];command=/bin/cat ; the program (relative uses PATH, can take args);process_name=%(program_name)s ; process_name expr (default %(program_name)s);numprocs=1 ; number of processes copies to start (def 1);directory=/tmp ; directory to cwd to before exec (def no cwd);umask=022 ; umask for process (default None);priority=999 ; the relative start priority (default 999);autostart=true ; start at supervisord start (default: true);startsecs=1 ; # of secs prog must stay up to be running (def. 1);startretries=3 ; max # of serial start failures when starting (default 3);autorestart=unexpected ; when to restart if exited after running (def: unexpected);exitcodes=0,2 ; 'expected' exit codes used with autorestart (default 0,2);stopsignal=QUIT ; signal used to kill process (default TERM);stopwaitsecs=10 ; max num secs to wait b4 SIGKILL (default 10);stopasgroup=false ; send stop signal to the UNIX process group (default false);killasgroup=false ; SIGKILL the UNIX process group (def false);user=chrism ; setuid to this UNIX account to run the program;redirect_stderr=true ; redirect proc stderr to stdout (default false);stdout_logfile=/a/path ; stdout log path, NONE for none; default AUTO;stdout_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB);stdout_logfile_backups=10 ; # of stdout logfile backups (default 10);stdout_capture_maxbytes=1MB ; number of bytes in 'capturemode' (default 0);stdout_events_enabled=false ; emit events on stdout writes (default false);stderr_logfile=/a/path ; stderr log path, NONE for none; default AUTO;stderr_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB);stderr_logfile_backups=10 ; # of stderr logfile backups (default 10);stderr_capture_maxbytes=1MB ; number of bytes in 'capturemode' (default 0);stderr_events_enabled=false ; emit events on stderr writes (default false);environment=A="1",B="2" ; process environment additions (def no adds);serverurl=AUTO ; override serverurl computation (childutils)
���������
;[program:theprogramname] ;���������������������������������������������":"��������������������������������������������������� ������������������������������program������������������������������������������program������ ���������������������������;command=/bin/cat ; ������������������������������������������������������������������������ ���������/home/test.py -a 'hehe' ���������������������������������������command��������������������������������������������������� ���������������������������������������������������command=service httpd start��� httpd���������������linux���service���������������������supervisor������������������������ ��������������������������������������������� ������������������������������;process_name=%(program_name)s ; ������������������������������������������numprocs���������1��������������������������������� ������������������%(program_name)s������������������������program������������������������ ������������numprocs������������������������������������������������������������������������������ ������������������������������������ ;numprocs=1 ; ���������������������������������1���������������������������������������process_name��������� ���������1 ���������������������;directory=/tmp ; ��������������������������������������������� ���������������������������������������;umask=022 ; ���������������������none������������;priority=999 ; ��������������������������������������������������������������������������������������������� ������������999 ���������������������;autostart=true ; ���������true������������������������supervisord������������������������ ������������true ���������������������;autorestart=unexpected ; ���������������������������������������������������������������������������false,unexpected ���true������������false��������������������������������������������������������������� ���������unexpected���������������������������������������������exitcodes������������������ ������������������������������������������������true������������������������������������������������ ���������������;startsecs=1 ; ���������������������������������������������������������������������running��������������������� ������������ ������������1 ���������������������;startretries=3 ; ���������������������������������������������������������������������3���������supervisor������ ������������������������FAIL ������������3 ���������������������;exitcodes=0,2 ; ���������������������autorestart=unexpected������������exitcodes������������������ ������������expected������;stopsignal=QUIT ; ������������������������������TERM, HUP, INT, QUIT, KILL, USR1, or USR2��������� ���������TERM ���������������������������������������������������������������������expected ���������������;stopwaitsecs=10 ; ������������������������������������stopsignal��������������������������������� ���supervisord������������������������������ ���������������������supervisord��������� ���������������������������kill������������ ���������10������������������������;stopasgroup=false ; ���������������������������supervisord������������������������������������������������ ������������������������������������������supervisord������������������������������������������ ������������������������������������������������������������������������������������������������ ��������������������������� ���������true���������������killasgroup������������������true��� ������������������������������������������stop������ ���������false���������������������������;killasgroup=false ; ������������������stopasgroup���������������������������kill������;user=chrism ; ������supervisord���root���������������������������������������root��������������������� ���������program ������������������������������������������;redirect_stderr=true ; ���������true������stderr���������������������stdout��������������� ���������false������������������;stdout_logfile=/a/path ; ������������stdout���������������������������������������AUTO���none������������������ ���������none������������������������������������������AUTO��������������������������������� ������������������������������supervisord��������������������������������������������������� ������������ redirect_stderr=true������������sterr������������������������������;stdout_logfile_maxbytes=1MB ; ������������������������������[supervisord]������������������������������50;stdout_logfile_backups=10 ; ���[supervisord]������������������������10;stdout_capture_maxbytes=1MB ; ���������������������capture������������������������������0������������������������������stdout ������������������supervisor������������������������������������event��� ���������0������0������������������������������������������������;stdout_events_enabled=false ; ������������ture���������������������������stdout��������������������������������������������� ������supervisord������PROCESS_LOG_STDOUT���������event ���������false������������������������;stderr_logfile=/a/path ; ���������������������stderr������������������������redirect_stderr=true������������������ ���������������������������������������������������������stdout_logfile��������������������� ���������AUTO���������������������������������supervisord������������������������������������;stderr_logfile_maxbytes=1MB ; ������������������������������������������;stderr_logfile_backups=10 ; ������������;stderr_capture_maxbytes=1MB ; ������������������stdout_capture��������� ���������0���������������;stderr_events_enabled=false ; ������������������������������false;environment=A="1",B="2" ; ������������������������������������������������������������������������;serverurl=AUTO ;
���������������������������������������������������������
1���apt-get install ���������supervisor������������������ /etc/init.d/supervisor ���������
/etc/init.d/supervisor start
2���������easy_install ���������supervisor������supervisord ���������
supervisord
4���web������������
���������supervisor������������������������[inet_http_server]������������������������������http://10.211.55.11:9001������������������������������������
[inet_http_server]port=10.211.55.11:9001username=userpassword=123
���������
(supervisorctl)
1) ���������������������������������
# supervisorctl statusblog RUNNING pid 2395, uptime 0:08:41zhoujy RUNNING pid 2396, uptime 0:08:41
2���������������������������������������
# supervisorctl stop zhoujyzhoujy: stopped# supervisorctl start zhoujyzhoujy: started
3���������������������������������������
# supervisorctl stop allblog: stoppedzhoujy: stopped# supervisorctl start allblog: startedzhoujy: started
4���������������������supervisor���������������������������������autostart=true���������������������������������������autorestart=ture���
���������������������������������������
���������
���������������������������������������supervisor���������������������������������supervisor���������������������������������������������web������������������������������������������������������������������������������������������
���������������
发表评论
最新留言
关于作者
