Supervisor 安装与配置

article/2025/10/13 4:06:20

文章目录

  • Supervisor 安装与配置
  • 一、介绍
  • 二、名词释义
  • 三、Supervisor 安装
  • 三、Supervisor 配置
  • 四、启动控制终端
  • 五、注册为系统服务
  • 六、管理界面
    • 1、管理界面的弊端

Supervisor 安装与配置

一、介绍

​ Supervisor 是用Python开发的一个 client/server 服务,是Linux/Unix系统下的一个进程管理工具,不支持Windows系统。它可以很方便的监听、启动、停止、重启一个或多个进程。用Supervisor管理的进程,当一个进程意外被杀死,Supervisort 监听到进程死后,会自动将它重新拉起,很方便的做到进程自动恢复的功能,不再需要自己写shell脚本来控制。

​ 因为Supervisor是Python开发的,安装前先检查一下系统否安装了Python2.4以上版本。下面以 CentOS7,Python2.7版本环境下,介绍Supervisor的安装与配置步聚。

二、名词释义

supervisor:要安装的软件的名称。
supervisord:装好supervisor软件后,supervisord用于启动supervisor服务。
supervisorctl:用于管理supervisor配置文件中program。

三、Supervisor 安装

Supervisor 需要使用 root 用户安装,以 CentOS7 为例,安装指令如下:

注意:Supervisor 目前只支持 Python2.7,CenOS7默认已安装 Python2.7。

su - root
yum install epel-release
yum install -y supervisorsystemctl enable supervisord  # 开机自启动
systemctl start supervisord   # 启动supervisord服务
systemctl status supervisord  # 查看supervisord服务状态ps -ef|grep supervisord       # 查看是否存在supervisord进程

三、Supervisor 配置

​安装完成后,会生成一个配置文件和一个目录:

配置文件:/etc/supervisor.conf
配置目录:/etc/supervisor.d

全局的配置文件在 /etc/supervosor.conf,具体单个进程的配置不建议全部写进 /etc/supervisor.conf 中,应该在 /etc/supervisor.d/ 目录下创建相应的配置文件,如:

[program:cesi]
command=/usr/local/cesi/venv/bin/python3 /usr/local/cesi/cesi/run.py --config-file /etc/cesi.conf
autostart=true
startsecs=10
starttries=3
user=root
priority=996
redirect_stderr=false
stdout_logfile=/usr/local/cesi/cesi.log
stderr_logfile=/usr/local/cesi/cesi-err.log
stopasgroup=false
killasgroup=true

在使用单位进程配置文件前,需要将 /etc/supervisor.conf 中的

;[include]
;files = /etc/supervisor/config.d/*.ini

修改为:

[include]
files = /etc/supervisor/config.d/*.conf   # 建议用 .conf 作为扩展名

具体配置文件见同目录下的配置文件。

四、启动控制终端

​ 在安装Supervisor当前机器上运行 supervisorctl,即可进入控制终端,界面如下:

在这里插入图片描述

可以看到进入控制终端后,默认列出了正在运行中的进程,输入 ? 可以查看控制终端模式下的指令集,输入 exit可以退出,简要指令介绍如下:

# 启动 cesi 进程
start cesi
# 停止 cesi 进程
stop cesi
# 重启 cesi 进程
restart cesi# 更新 supervisor 配置
update
# 重启 supervisor
reload
# 查看 supervisor 状态
status

更多指令不作介绍,具体百度。

也可以不进入控制终端,完成某个进程的启动、停止、重启,也可以查看supervisor的状态,更新配置等,指令如下:

supervisorctl status                   # 查看所管理的服务状态; 
supervisorctl start <program_name>     # 启动一个服务; 
supervisorctl restart <program_name>   # 重启一个服务(注意:重启服务不会重新加载配置文件); 
supervisorctl stop <program_name>      # 关闭一个服务; 
supervisorctl update                   # 重新加载配置文件,并重启配置有变动的服务; 
supervisorctl reread                   # 重新加载配置文件,但不会重启配置有变动的服务; 
supervisorctl reload                   # 重启 Supervisor 服务端; 
supervisorctl clear <program_name>     # 清理一个服务的 stdout log;

五、注册为系统服务

将supervisor注册为系统服务,可以随系统启动,免去手工启动的麻烦。

先在 /usr/lib/systemd/system目录下创建 supervisord.service 文件:

touch /usr/lib/systemd/system/supervisord.service

编辑 supervisord.service,并输入如下内容并保存:

[Unit]
Description=Supervisor daemon[Service]
Type=forking
PIDFile=/var/run/supervisord.pid
ExecStart=/bin/supervisord -c /etc/supervisord.conf
ExecStop=/bin/supervisorctl shutdown
ExecReload=/bin/supervisorctl reload
KillMode=process
Restart=on-failure
RestartSec=42s[Install]
WantedBy=multi-user.target

设置为随系统启动,并启动服务

systemctl enable supervisord

查看服务是否成功启动

# systemctl is-enabled supervisord
enabled

成功之后,就可以使用如下命令管理supervisor服务了:

# systemctl stop supervisord
# systemctl start supervisord
# systemctl status supervisord
# systemctl reload supervisord
# systemctl restart supervisord

**注意:**Supervisor只能管理非daemon的进程,也就是说Supervisor不能管理守护进程。否则提示Exited too quickly (process log may have details)异常。需要以前台进程的方式运行。

六、管理界面

出于安全考虑,默认配置是没有开启web管理界面,需要修改supervisord.conf配置文件打开http访权限,将下面的配置:

;[inet_http_server]         ; inet (TCP) server disabled by default
;port=127.0.0.1:9001        ; (ip_address:port specifier, *:port for all iface)
;username=user              ; (default is no username (open server))
;password=123               ; (default is no password (open server))

修改成:

[inet_http_server]         ; inet (TCP) server disabled by default
port=0.0.0.0:9001          ; (ip_address:port specifier, *:port for all iface)
username=user              ; (default is no username (open server))
password=123               ; (default is no password (open server))

port:绑定访问IP和端口,这里是绑定的是本地IP和9001端口
username:登录管理界面的用户名
password:登录管理界面的密码

在浏览器中输入 http://127.0.0.1:9001 即可打开管理界面,如下:

在这里插入图片描述

1、管理界面的弊端

Supervisor 不支持跨机器的进程监控,一个supervisord只能监控本机上的程序,大大限制了supervisor的使用。不过由于supervisor本身支持xml-rpc,因此也有一些基于supervisor二次开发的多机器进程管理工具。比如:

    • Django-Dashvisor
      Web-based dashboard written in Python. Requires Django 1.3 or 1.4.
    • Nodervisor
      Web-based dashboard written in Node.js.
    • Supervisord-Monitor
      Web-based dashboard written in PHP.
    • SupervisorUI
      Another Web-based dashboard written in PHP.
    • CeSi
      CeSi is a web interface provides manage supervizors from same interface.

官方推荐使用 CeSi 进行集群管理,原文链接:https://github.com/gamegos/cesi/blob/master/README.md。


http://chatgpt.dhexx.cn/article/IAEGqLnU.shtml

相关文章

使用Cesi+Supervisor实现进程管理

使用CesiSupervisor实现进程管理 相信很多的运维小伙伴都是饱受进程丢失的痛苦&#xff0c;最怕半夜被手机吵醒&#xff0c;那一定是经理想你 不管进程是前台运行还是后台静默运行&#xff0c;我们都需要能监控其进程状态。 原因有三&#xff1a; 一&#xff0c;在意外结束时…

echarts学习笔记1

可视化面板介绍 ​ 应对现在数据可视化的趋势&#xff0c;越来越多企业需要在很多场景(营销数据&#xff0c;生产数据&#xff0c;用户数据)下使用&#xff0c;可视化图表来展示体现数据&#xff0c;让数据更加直观&#xff0c;数据特点更加突出。 [外链图片转存失败,源站可能…

supervisor集群管理

1.介绍 Supervisor是一个进程管理工具&#xff0c;就是有一个进程需要每时每刻不断的运行&#xff0c;但是这个进程又有可能由于各种原因有可能停止运行。supervisor官网&#xff1a;http://www.supervisord.org/ 当进程停止运行的时候我们希望能自动重新启动&#xff0c;Super…

UOS桌面操作系统专业版字体

fc-list |sort| awk {print $1 } |uniq| wc -l cesi授权的字体 /usr/share/fonts/fonts-cesi/CESI_FS_GB13000.TTF: CESI仿宋\-GB13000,CESI_FS_GB13000:styleRegular /usr/share/fonts/fonts-cesi/CESI_FS_GB18030.TTF: CESI仿宋\-GB18030,CESI_FS_GB18030:styleRegular /…

罗马仕荣获中国质量认证中心、CESI颁发的全国首批“双新认证”证书

2022年11月25日&#xff0c;2022&#xff08;冬季&#xff09;亚洲户外电源大会于深圳市南山区科兴科学园ECO国际会议中心举办。本次大会由中国电子技术标准化研究院、北京京东世纪贸易有限公司、充电头网、全国电子产品安全标准化技术委员会、工信部锂离子电池及类似产品标准化…

supervisor 的 web 管理工具 cesi

一、supervisor 配置 说明&#xff1a;如果只是使用 supervisor 自带的 web&#xff0c;仅如下配置就可以vim /etc/supervisor/supervisord.conf[inet_http_server] ; inet (TCP) server disabled by default port192.168.5.149:9001 ; ip_address:port specif…

管理ELK进程工具: Supervisor Cesi

一、Supervisor简介 supervisor是一个Linux/Unix系统上的进程监控工具&#xff0c;supervisor是一个Python开发的通用的进程管理程序&#xff0c;可以管理和监控Linux上面的进程&#xff0c;能将一个普通的命令行进程变为后台daemon&#xff0c;并监控进程状态&#xff0c;异常…

CeSi 进程集中管理部署

一&#xff1a;安装环境 CentOs 7环境 sudo yum install -y git epel-releasesudo yum install -y python34 python34-pip 二&#xff1a; 安装CeSi https://github.com/Gamegos/cesi 有详细的安装步骤&#xff0c;需要安装一些工具 ## 安装yarn curl --silent --location http…

Linux 系统进程守护工具 cesi + superviosr

一、安装 Supervisor pip install supervisor 使用 echo_supervisord_conf 命令生成默认配置文件 echo_supervisord_conf > /etc/supervisord.conf 配置文件说明 位置&#xff1a;etc/supervisord.conf内容&#xff1a;# 指定了socket file的位置 [unix_http_server] f…

进程管理工具-Supervisord +CeSi

Supervisor 简介 Supervisor 是一个用 Python 写的进程管理工具&#xff0c;可以很方便的用来在 UNIX-like 系统&#xff08;不支持 Windows&#xff09;下启动、重启&#xff08;自动重启程序&#xff09;、关闭进程&#xff08;不仅仅是 Python 进程&#xff09; Superviso…

通过 CeSi + Supervisor 可视化集中管理服务器节点进程

通过 CeSi Supervisor 可视化集中管理服务器节点进程 简介Supervisor 的安装及基本使用1. 安装2. 基本使用 2.1 启动 supervisor2.2 Supervisor 客户端 supervisorctl安装配置 CeSi1. 简介2. 安装3. 配置4. 启动Supervisor 服务设置开机自启动参考链接 通过 CeSi Supervis…

第二篇supervisor集群管理工具cesi安装详解-如何安装supervisor-cesiwebUI

第二篇supervisor集群管理工具cesi安装详解-如何安装supervisor-cesiwebUI 介绍安装解压安装依赖修改配置注册为系统服务启动登录一下&#xff0c;发现报错了解决方法 介绍 前一篇我们安装好了supervisor&#xff0c;supervisor自带了一个UI界面&#xff0c;不太好用&#xff…

CeSi 安装与配置

文章目录 CeSi 安装与配置一、介绍二、CeSi 安装三、CeSi 配置四、CeSi 启动五、管理界面 CeSi 安装与配置 一、介绍 ​ CeSi(Centralized Supervisor Interface) 是 Supervisor 官方推荐的集中化管理 Supervisor 实例的 Web UI&#xff0c;该工具是用 Python 编写&#xff0…

iis发布网站时出现根目录文件解决方案

Window server 发布 vs打包的web应用时出现根目录文件 在web.config配置文件中 &#xff0c;modules 节点前加上 runAllManagedModulesForAllRequests“true”

IIS 发布网站无法显示图片

发布网站以后&#xff0c;图片全是叉号。 1、先确认&#xff0c;IIS服务管理器下面没有MIME类型这个选项 2、参考设置权限&#xff0c;&#xff08;我的程序是拷贝过来的&#xff09;&#xff1a; https://blog.csdn.net/yzm272/article/details/86506615 1、第一步打开IIS 控…

IIS发布网站及网页显示设置

本文调试系统中容易出现问题的系统有&#xff1a;Windows Service 2008R2、Windosw Service 2012R2 1、在上述两个系统中需要增加IIS服务器功能&#xff0c;需要在《添加角色功能增加》点击下一步中&#xff0c;添加IIS服务器功能即可&#xff0c;在增加功能的同时提供原系统文…

IIS部署 发布网站详细步骤(相见恨晚)

前言 新闻发布系统做完有一段时间了&#xff0c;可是自己怎么也发布不出去&#xff0c;琢磨了好几天&#xff0c;也没能顺利将新闻发布系统发布出来。甚是着急啊。站在巨人的肩膀上——找师哥帮忙。在他的指导下才知道自己的问题出现在哪里。下面详细展示一下发布的全过程。 …

IIS发布c#网站

目录 首先在VS上发布网站 在IIS上将发布好的网站部署上 首先在VS上发布网站 1.配置文件&#xff1a;下拉选择“新建自定义配置文件” 2.连接&#xff1a;发布选择“文件系统”&#xff0c;目标位置选择自己定义的文件夹目录 3.设置&#xff1a;配置下拉选择“Release”&…

创建asp网站iis发布网站用IP地址进行访问

1、创建asp网站 vs—新建—项目—web—asp.net空应用程序—确定—点击解决方案—右键添加—新建项目—visual c#类库—分别添加model,dal,bll层 2、我们要先在vs中发布 3、弹出网站发布设置面板&#xff0c;点击<新建..>,创建新的发布配置文件 输入你自己定义的配置文件…

win7用IIS发布网站

1、将需要发布网站的工程文件共享 右键工程文件&#xff0c;选择“属性”&#xff0c;选择“共享”&#xff0c;进入下图 点击“共享”&#xff0c;进入下图 添加用户Everyone&#xff0c;点击下方的共享&#xff0c;即可完成工程文件共享。 2、确保系统上已经安装IIS&#x…