什么是Supervisor

Supervisor是一个进程控制系统。 它是一个C/S系统,服务端是supervisord进程,控制端使用supervisorctl来进行控制启动进程。同时它也提供了一个web界面,来可以使我们方便的进行进程的控制和查看日志信息。

本篇博客将介绍如何安装/配置Supeivisor,希望能对你有所帮助。

supervisor原理

supervisor在启动时,先启动supervisor自己作为主进程

然后读取配置文件加载注册的项目启动为子进程,获取进程PID

如果某一个子进程异常中止,主进程会得到通知, 然后查看该项目的配置,如设置了自动重启则重启PID,如不重启则PID为0

下载

Supervisor是基于Python开发的,因此下载可以使用Python的pip命令(推荐使用pip方式安装)

pip3 install git+https://github.com/Supervisor/supervisor

如出现错误

是因为你没有安装 git ,使用 yum install git 来安装git

配置

我们进入一个目录准备配置 Supervisor

我个人习惯将所有自己安装的软件放至 /usr/lib 下面

cd进入

cd /usr/lib

新建文件夹 supervisor

mkdir supervisor

进入 新建的文件夹

cd supervisor/

将 supervisor 的配置导入该目录

echo_supervisord_conf > /usr/lib/supervisor/supervisord.conf

如提示

请指定supervisor的安装位置,如

/usr/lib/python3/bin/echo_supervisord_conf > /usr/lib/supervisor/supervisord.conf

命令完成后我们看到目录下多了 supervisord.conf 文件

我们新建文件夹 config 存放以后的项目配置文件

mkdir config

我们使用vim编辑该配置文件

vim supervisord.conf

配置里有很多选项,更多的配置请网路搜索或查询官方文档(EN)

修改以下选项

然后我们保存,退出

再启动 supervisord

/usr/lib/python3/bin/supervisord -c /usr/lib/supervisor/supervisord.conf

我们来启动查看是否成功

/usr/lib/python3/bin/supervisorctl -c /usr/lib/supervisor/supervisord.conf

出现以下界面而没有错误提示代表成功

如出现如下

请关闭防火墙,然后确保每次都使用 -c 指定conf

systemctl stop firewalld.service
systemctl disable firewalld.service

常用命令

/usr/lib/python3/bin/supervisorctl -c /usr/lib/supervisor/supervisord.conf reload //重启supervisor
/usr/lib/python3/bin/supervisorctl -c /usr/lib/supervisor/supervisord.conf restart //重启某个conf,加 all 指重启全部
/usr/lib/python3/bin/supervisorctl -c /usr/lib/supervisor/supervisord.conf update //更新全部conf文件

CentOS安装Supervisor的更多相关文章

  1. centos上安装supervisor来管理dotnetcore等应用程序

    supervisor 介绍: 这是一款用python编写的进程管理工具,可以守护他管理的所有进程,防止异常退出,以及提供一个可视化的web界面来手动管理,打开关闭重启各种应用,界面如下: 关于在cen ...

  2. 安装Supervisor到CentOS(YUM)

    Supervisor是一个Linux下进程管理工具. Supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为守护进程,并监控进程状态,异常退出时能自动重启,可以 ...

  3. supervisor centos安装

    一.安装配置supervisor 1.安装python自动化工具    #yum install python-setuptools 2.#easy_install supervisor安装super ...

  4. centos 安装nginx

    centos 安装nginx 安装依赖 更换源 yum install http://mirrors.163.com/centos/6.8/extras/x86_64/Packages/epel-re ...

  5. centos通过Supervisor配置.net core守护进程

    安装Supervisor easy_install supervisor 生成默认配置文件 echo_supervisord_conf > /etc/supervisord.conf 生成的配置 ...

  6. CentOS7 安装supervisor守护进程管理器

    supervisor没有发布在标准的CentOS源在,需要安装epel源.这种方式安装的可能不是最新版本,但比较方便,安装完成之后,配置文件会自动帮你生成. 默认配置文件:/etc/superviso ...

  7. CentOS 之 Supervisor

    CentOS 之 Supervisor supervisor是一个Linux上用来管理程序后台运行的工具,支持程序的自启动,挂掉重启,日志等功能.可配置程序随系统启动,并支持挂掉重启,增强程序稳定性. ...

  8. Linux服务器部署.Net Core笔记:四、安装Supervisor进程守护

    Supervisor 是用 Python 开发的 Linux/Unix 系统下的一个进程管理工具.它可以使进程脱离终端,变为后台守护进程(daemon).实时监控进程状态,异常退出时能自动重启. Su ...

  9. Centos 安装.NET Core环境

    https://dotnet.microsoft.com/learn/dotnet/hello-world-tutorial/install 一.概述 本篇讨论如何把项目发布到Linux环境,主要包括 ...

随机推荐

  1. openstack第四章:neutron— 网络服务

    第四篇neutron— 网络服务 一.neutron 介绍:   Neutron 概述 传统的网络管理方式很大程度上依赖于管理员手工配置和维护各种网络硬件设备:而云环境下的网络已经变得非常复杂,特别是 ...

  2. 572. Subtree of Another Tree(easy)

    Given two non-empty binary trees s and t, check whether tree t has exactly the same structure and no ...

  3. 【学习总结】GirlsInAI ML-diary day-15-读/写txt文件

    [学习总结]GirlsInAI ML-diary 总 原博github链接-day15 认识读/写txt文件 路径: 绝对路径:文件在电脑中的位置 相对路径:下面会用到 1-准备 新建一个 pytho ...

  4. CentOS自定义快捷键,以终端为例

    和Ubuntu不同的是,CentOS默认情况下没有Terminal的快捷键.因此,用户需要自定义. 具体操作: 一.打开设置,搜索keyboard 二.点击+号定义快捷键 名称随意填,查询终端程序所在 ...

  5. kotlin电商学习记录,好久没来逛逛了

    好久没来,一直做毕业设计,用kotlin写一个基于以图搜图的购物app,现在又赶上实习,内容多,时间少,不过前途光明并由贵人指点.加油 kotlin电商学习记录 技术选型 视图层 kotlin-and ...

  6. ☆ [HNOI2012] 永无乡 「平衡树启发式合并」

    题目类型:平衡树启发式合并 传送门:>Here< 题意:节点可以连边(不能断边),询问任意两个节点的连通性与一个连通块中排名第\(k\)的节点 解题思路 如果不需要询问排名,那么并查集即可 ...

  7. C-static,auto,register,volatile

    static 一:静态,意思就是呆在一个地方,不想动,大概就是编译期间就确定地址了.首先了解下C中的进程内存布局: 1)正文段(.text)——CPU执行的机器指令部分:一个程序只有一个副本:只读,防 ...

  8. hdu 2829 Lawrence(四边形不等式优化dp)

    T. E. Lawrence was a controversial figure during World War I. He was a British officer who served in ...

  9. 看毛片就能AC算法

    KMP && ACA KMP: 吼哇! 反正网上教程满天飞,我就不写了. 发个自己写的模板 /** freopen("in.in", "r", ...

  10. 将服务器文件上传到ftp shell操作

    date cd /home/data today_now=`date +%Y%m%d` #当前日期 cur_date=${today_now::} #echo ${cur_date} #判断是否文件生 ...