Supervisord | 学习笔记

简介: 快速学习Supervisord,掌握如何进行服务的管理和配置,并引导学生主动完成服务的编写,为后续的运维工作打下基础

开发者学堂课程【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的配置文件

image.png

unix_http_server 是Supervisord 提供的unix接口,可以通过这个接口对它执行操作。

比如自己想编写程序来控制Supervisord,那就可以通过接口文件来进行连接。

image.png

还可以使用http进行连接:

image.png

在这里还没有开启,在后续做大规模集群控制时可以通过在集群上配置Supervisord 的server 来完成具体的配置。

Supervisord 的具体的控制:

image.png

包含logfile的配置,最大的大小,备份多少次,等级等信息。

最重要的就是program部分。这一部分决定了我们的命令到底是什么。

image.png

包含命令、进程名、启动多少个进程、执行目录、默认的umask、优先级、是否需要自动重启、是否需要自动启动、启动时是否需要等待和重试、退出的代码等等。

这些信息决定了进程在实际的执行过程中大概会以什么样的状态进行记录。

日志标准输出的位置:

image.png

错误输出的位置:

image.png

关键点:

Environment设定环境变量,可以设定多个环境变量

image.png

 

相关文章
|
7月前
|
监控 Ubuntu Unix
Supervisor使用详解
Supervisor使用详解
79 0
|
7月前
|
监控 应用服务中间件 nginx
Supervisor快速入门 | 使用Supervisor守护Nginx进程
Supervisor快速入门 | 使用Supervisor守护Nginx进程
210 0
|
Shell Linux
nohup命令详解
nohup命令详解
240 0
|
Shell
vi命令大全
vi命令大全
128 0
supervisor的使用
supervisor的使用
107 0
|
JavaScript
supervisor安装
supervisor安装
122 0
|
Unix Shell 应用服务中间件
supervisor 使用
Supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启。它是通过fork/exec的方式把这些被管理的进程当作supervisor的子进程来启动,这样只要在supervisor的配置文件中,把要管理的进程的可执行文件的路径写进去即可。也实现当子进程挂掉的时候,父进程可以准确获取子进程挂掉的信息的,可以选择是否自己启动和报警。supervisor还提供了一个功能,可以为supervisord或者每个子进程,设置一个非root的user,这个user就可以管理它对应的进程。
348 0
|
Unix 应用服务中间件 Shell
Supervisor守护进程
使用Supervisor的背景: #Supervisor(http://supervisord.org/)是用Python开发的一个client/server服务,是Linux/Unix系统下的一个进程管理工具,不支持Windows系统。
1257 0