开发者学堂课程【Linux 系统管理进阶第四课时:Supervisord】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/789/detail/13756
Supervisord
内容简介
一、了解Supervisord
二、Supervisord 的安装
三、Supervisord 配置管理
四、真机查看Supervisord
一、Supervisord
1、Supervisord 是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon ,并监控进程状态,异常退出时能自动重启。
2、Supervisord 可以很方便的管理批量进程,不仅支持启动、重启、关闭、重载,还支持监控进程,进程意外僵死后可自动拉起,从而确保服务可以持续运转。
二、Supervisord 的安装
yum install supervisord 安装Supervisord
echo_ supervisord_ conf > /etc/supervisord. conf 生成Supervisord 的配置文件
supervisord -c /etc/supervisord. conf启动Supervisord
启动成功后即可执行Supervisord 的命令。
三、Supervisord 配置管理
了解Supervisord 的安装后,重点了解一下Supervisord 配置管理
Supervisord 的主进程配置文件放置在/etc/supervisord.conf:
[program:echo_hi]
command=echo hi >> /tmp/hi
用户定义的项目进程配置文件放置在/etc/supervisor/conf.d目录下
具体配置项目:
autostart=true是否自动启动
autorestart=true 是否自动重启
startsecs=10启动时长
startretries=3启动失败重试次数
exitcodes=0,2退出的代码
stopsignal=QUIT退出时的信号
stopwaitsecs=10停止时等待的时间
user=root具体执行时的命令
log_stdout=true是否记录标准输出
log_stderr=true是否记录标准报错
例:
logfile=/tmp/show_hi.log日志记录路径为show_hi.log
logfile_maxbytes=1MB最大大小为1M
logfile_backups=10备份最多保存10天
stdout_logfile_maxbytes=20MB标准输出大小为20M
stdout_logfile_backups=20备份最多保存20天
stdout_logfile=/tmp/echo_hi. stdout. log路径为echo_hi. stdout. log
有了这些基本配置,我们就可以让Supervisord来 接管我们的进程,让进程可以持续运转下去。
四、真机查看Supervisord
cat supervisord.conf 查看Supervisord的配置文件
unix_http_server 是Supervisord 提供的unix接口,可以通过这个接口对它执行操作。
比如自己想编写程序来控制Supervisord,那就可以通过接口文件来进行连接。
还可以使用http进行连接:
在这里还没有开启,在后续做大规模集群控制时可以通过在集群上配置Supervisord 的server 来完成具体的配置。
Supervisord 的具体的控制:
包含logfile的配置,最大的大小,备份多少次,等级等信息。
最重要的就是program部分。这一部分决定了我们的命令到底是什么。
包含命令、进程名、启动多少个进程、执行目录、默认的umask、优先级、是否需要自动重启、是否需要自动启动、启动时是否需要等待和重试、退出的代码等等。
这些信息决定了进程在实际的执行过程中大概会以什么样的状态进行记录。
日志标准输出的位置:
错误输出的位置:
关键点:
Environment设定环境变量,可以设定多个环境变量