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

 

相关文章
|
网络安全 Windows
Jetson 学习笔记(十五):FTP协议传输文件
本文介绍了如何使用WinSCP软件通过FTP协议在Windows和Jetson设备之间传输文件,并分享了一些操作经验和技巧。
257 0
Jetson 学习笔记(十五):FTP协议传输文件
|
SQL 存储 关系型数据库
(五)MySQL索引应用篇:建立索引的正确姿势与使用索引的最佳指南!
在本篇中,则重点讲解索引应用相关的方式方法,例如各索引优劣分析、建立索引的原则、使用索引的指南以及索引失效与索引优化等内容。
2165 2
|
数据采集 机器学习/深度学习 数据可视化
从零到一建设数据中台 - 数据服务开发
从零到一建设数据中台 - 数据服务开发
377 0
|
11天前
|
数据采集 人工智能 安全