学习视频:

https://www.bilibili.com/video/BV1Vi4y147Fm?from=search&seid=8875783979034550201

更多说明:

https://xugaoxiang.com/2019/12/04/supervisor/

https://www.cnblogs.com/Hai--D/p/5820718.html

安装

sudo yum install -y supervisor

开机启动

sudo systemctl enable supervisord

启动

sudo systemctl start supervisord

查看启动

ps -ef | grep supervisor

2、 配置Supervisor

a.创建文件夹和配置文件

mkdir /etc/supervisor

echo_supervisord_conf > /etc/supervisor/supervisord.conf

b.修改/etc/supervisor/supervisord.conf文件内容

在文件结尾[include]节点处

;files = relative/directory/*.ini

改为files = conf.d/*.conf

c.执行supervisorctl reload 命令使配置文件生效。

d.在/etc/supervisor/下创建conf.d文件夹,及ProjectName.conf(以项目名称命名的)

e.打开ProjectName.conf文件,添加内容如下:

[program: ProjectName]
command=dotnet ProjectName.dll ; 运行程序的命令
directory=/root/Publishing/PublishOutput/ ; 命令执行的目录
autorestart=true ; 程序意外退出是否自动重启
autostart=true ; 是否自动启动
stderr_logfile=/var/log/ProjectName.err.log ; 错误日志文件
stdout_logfile=/var/log/ProjectName.out.log ; 输出日志文件
environment=ASPNETCORE_ENVIRONMENT=Production ; 进程环境变量
user=root ; 进程执行的用户身份
stopsignal=INT
startsecs=1 ; 自动重启间隔

以我的项目为例

[program:power]
process_name=power
user=root
command=nohup /home/work/go/src/linkbook.com/power >> access.log 2>&1 & ; 运行程序的命令
directory=/home/work/go/src/linkbook.com/power ; 命令执行的目录
autorestart=true ; 程序意外退出是否自动重启
autostart=true ; 是否自动启动
stderr_logfile=/var/log/power_err.log ; 错误日志文件
stdout_logfile=/var/log/power_out.log ; 输出日志文件
user=root ; 进程执行的用户身份
stopsignal=INT
startsecs=1 ; 自动重启间隔

保存并退出

3、 运行supervisord,查看是否生效,执行以下命令:

supervisord -c /etc/supervisor/supervisord.conf

ps -ef | grep ProjectName

4:web界面操作

需要在supervisor的配置文件里添加[inet_http_server]选项组:之后可以通过http://10.211.55.11:9001来访问控制子线程的管理。

[inet_http_server]

port=10.211.55.11:9001

username=user

password=123

效果:

5:子进程管理(supervisorctl)

  1. 查看所有子进程的状态:

supervisorctl status

blog RUNNING pid 2395, uptime 0:08:41

zhoujy RUNNING pid 2396, uptime 0:08:41

2)关闭、开启指定的子进程:

supervisorctl stop zhoujy

zhoujy: stopped

supervisorctl start zhoujy

zhoujy: started

3)关闭、开启所有的子进程:

supervisorctl stop all

blog: stopped

zhoujy: stopped

supervisorctl start all

blog: started

zhoujy: started

4):其他参数:supervisor开启后子进程自动开启(autostart=true)和子进程退出后自动启动(autorestart=ture)

更多的参数可以看官方文档和supervisor(一)基础篇的说明。

总结:

  我们需要的功能在上面介绍的supervisor的基本功能中已经实现,supervisor还有其他的一些功能:如进程组、web页面管理子进程、监控子线程情况等等,更多的信息可以去官网上查看。

supervisor 的安装与使用的更多相关文章

  1. supervisor centos安装

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

  2. Supervisor的安装以及使用

    1.supervisor的介绍 Supervisor 是用Python开发的一个client/server服务,是Linux/Unix系统下的一个进程管理工具,不支持Windows系统,通过配置可以实 ...

  3. Linux Supervisor的安装与使用入门

    在linux或者unix操作系统中,守护进程(Daemon)是一种运行在后台的特殊进程,它独立于控制终端并且周期性的执行某种任务或等待处理某些发生的事件.由于在linux中,每个系统与用户进行交流的界 ...

  4. supervisor的安装部署及集群管理

    supervisor的安装部署及集群管理 supervisor官网:http://www.supervisord.org/ 参考链接: http://blog.csdn.net/xyang81/art ...

  5. Linux Supervisor的安装与使用入门---SuSE

    Linux Supervisor的安装与使用入门 在linux或者unix操作系统中,守护进程(Daemon)是一种运行在后台的特殊进程,它独立于控制终端并且周期性的执行某种任务或等待处理某些发生的事 ...

  6. Linux Supervisor的安装与使用入门---Ubuntun

    Linux Supervisor的安装与使用入门 在linux或者unix操作系统中,守护进程(Daemon)是一种运行在后台的特殊进程,它独立于控制终端并且周期性的执行某种任务或等待处理某些发生的事 ...

  7. Supervisor 的安装与配置教程

    简介 Supervisor是一个进程控制系统. 它是一个C/S系统(注意: 其提供WEB接口给用户查询和控制), 它允许用户去监控和控制在类UNIX系统的进程. 它的目标与launchd, daemo ...

  8. Linux进程管理工具Supervisor的安装配置

    目录 Linux进程管理工具Supervisor的安装配置 简介 安装Python包管理工具 安装Supervisor 配置 配置文件参数说明 配置进程管理 启动supervisor 控制进程 交互终 ...

  9. supervisor的安装与简单介绍

    1,介绍 Supervisor是一个进程管理工具,官方的说法 用途就是有一个进程需要每时每刻不断的跑,但是这个进程又有可能由于各种原因有可能中断.当进程中断的时候我希望能自动重新启动它,此时,我就需要 ...

  10. Ubuntu14中supervisor的安装及配置

    supervisor是一款很好用的进程管理工具,其命令也很简单,其安装过程如下: Ubuntu14: 首先保证本地的Python环境是OK的,并且已经安装supervisor包,如果没有安装可以用ea ...

随机推荐

  1. C++ 线程安全的队列

    无界队列 #include<queue> #include<mutex> #include<condition_variable> #include<opti ...

  2. #树形dp#洛谷 1272 重建道路

    题目 给出一个大小为 \(n\) 的树, 问至少断掉多少条边使得存在一个大小为 \(m\) 的连通块 \(n\leq 150\) 分析 设 \(dp[x][s]\) 表示以 \(x\) 为根的子树至少 ...

  3. #博弈论#HDU 2516 取石子游戏

    题目 \(n\)个石子,两人轮流取.先取者第1次可以取任意多个, 但不能全部取完.以后每次取的石子数不能超过上次取子数的2倍. 取完者胜.先取者负输出"Second win".先取 ...

  4. OpenHarmony设备环境查询:Environment

      开发者如果需要应用程序运行的设备的环境参数,以此来作出不同的场景判断,比如多语言,暗黑模式等,需要用到Environment设备环境查询. Environment是ArkUI框架在应用程序启动时创 ...

  5. 定时运行BAT文件

    引用:https://www.cnblogs.com/lidj/archive/2012/07/07/2580598.html 1.Form.cs: using CC=System.Web.Mail; ...

  6. 数据库SQL(MSSQLSERVER)服务启动错误代码3414

    昨天永和客户联系我,说他们的前台系统报错了,给我发了报错的图片.看到错误的第一眼就知道是数据库出问题了,连不上sql Server. 虽然知道是数据库出问题了,但是刚开始的时候没有打开SQL Serv ...

  7. HarmonyOS应用兼容稳定性云测试

      兼容性测试 兼容性测试主要验证HarmonyOS应用在华为真机设备上运行的兼容性问题,包括首次安装.再次安装.启动.卸载.崩溃.黑白屏.闪退.运行错误.无法回退.无响应.设计约束场景.具体兼容性测 ...

  8. Openstack之工作流程

    组件 OpenStack的核心部件即包括Nova(用于计算).Keystone(用于身份服务).Neutron(用于网络和地址管理).Cinder(块存储).Swift(对象存储).Glance(镜像 ...

  9. 重新整理 .net core 实践篇——— 测试控制器[四十九]

    前言 其实就是官方的例子,只是在此收录整理一下. 正文 测试控制器测试的是什么呢? 测试的是避开筛选器.路由.模型绑定,就是只测试控制器的逻辑,但是不测试器依赖项. 代码部分: https://git ...

  10. Web前端 -- ES6

    ES标准中不包含 DOM 和 BOM的定义,只涵盖基本数据类型.关键字.语句.运算符.内建对象.内建函数等通用语法. 本部分只学习前端开发中ES6的最少必要知识,方便后面项目开发中对代码的理解. 1. ...