supervisor启动查找supervisord.conf配置文件顺序
1 2 3 4
| $CWD/supervisord.conf -> $CWD/etc/supervisord.conf -> /etc/supervisord.conf # 优先级由高到低
supervisord -c /etc/supervisord.conf supervisorctl -c /etc/supervisord.conf # 直接指定
|
supervisor作用?
集中管理子进程
supervisor的组件
1 2
| supervisord # supervisor的服务端 supervisorctl # supervisor的客户端
|
配置文件详解
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| [unix_http_server] file=/tmp/supervisor.sock ; socket文件作用:supervisorctl与supervisord(服务端)通信 ;chmod=0700 ; socket文件权限 ;username=user ; 使用supervisorctl时候的认证用户,默认不认证 ;password=123
[supervisord] ; 定义supervisord服务端运行时的参数 logfile=/tmp/supervisord.log; 定义supervisord主进程 logfile_maxbytes=50MB ; 设置文件最大;超过50M则生成新的文件 pidfile=/tmp/supervisord.pid; pid文件 nodaemon=false ; 以守护进程运行
[supervisorctl] ;这个主要是针对supervisorctl的一些配置 serverurl=unix:///tmp/supervisor.sock ; 这个是supervisorctl本地连接supervisord的时候,本地UNIX socket路径,注意这个是和前面的[unix_http_server]对应的;默认值就是unix:///tmp/supervisor.sock
[program:create_elastic_index] command = /opt/php/bin/php /data/website/clou/artisan queue:work --queue=create_elastic_index --tries=3 --daemon ; command不能是后台进程 directory = /data/website/cloer-v2 ; 进程运行前会切换到此目录 process_name = %(program_name)s_%(process_num)s priority = 999 ; 进程启动优先级,优先级低的先启动 numprocs = 2 autostart = true autorestart = true ; 如果为unexpected,只有当进程的退出码不在下面的exitcodes里面定义的退出码时才会被重启;true表进程只要挂掉就无条件重启。 ;exitcodes = 0,2 stdout_logfile = /data/website/cloudedr-v2/storage/logs/supervisor-clip_crdex.log stdout_logfile_maxbytes = 10MB stderr_logfile = /data/website/cloudeder-v2/storage/logs/supervisor-clip_crdex.log stderr_logfile_maxbytes = 10MB umask=002 user=nobody
|
原文链接: https://chenqiaorui.github.io/2023/05/22/第25期:supervisor/
版权声明: 转载请注明出处.