广告
返回顶部
首页 > 资讯 > 操作系统 >Linux运维工具Supervisor的安装使用(进程管理工具)
  • 390
分享到

Linux运维工具Supervisor的安装使用(进程管理工具)

Linux运维工具SupervisorLinuxSupervisor 2022-06-04 23:06:06 390人浏览 独家记忆
摘要

一、介绍 Supervisor是用python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启。目前Supervisor可以运行在大多数Unix系统上,但不

一、介绍

Supervisor是用python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启。目前Supervisor可以运行在大多数Unix系统上,但不支持在windows系统上运行。Supervisor需要python2.4及以上版本,但任何Python 3版本都不支持。

二、自带Web管理程序

Linux运维工具Supervisor的安装使用(进程管理工具)

Supervisor有四个组件:

1. supervisord
运行Supervisor的后台服务,它用来启动和管理那些你需要Supervisor管理的子进程,响应客户端发来的请求,重启意外退出的子进程,将子进程的stdout和stderr写入日志,响应事件等。它是Supervisor最核心的部分。

2. supervisorctl
相当于supervisord的客户端,它是一个命令行工具,用户可以通过它向supervisord服务发指令,比如查看子进程状态,启动或关闭子进程。它可以连接不同的supervisord服务,包括远程机上的服务。

3. WEB服务器
这是supervisord的Web客户端,用户可以在Web页面上完成类似于supervisorctl的功能。

4. XML-rpc接口
这是留给第三方集成的接口,你的服务可以在远程调用这些XML-RPC接口来控制supervisord管理的子进程。上面的Web服务器其实也是通过这个XML-RPC接口实现的。

三、安装

下面介绍了三种方式,任选一种即可

1、安装


echo "supervisor-3.3.4安装(是, 请输入1 ; 否, 输入其他):" 
read SV
if [ "$SV" = "1" ];then 
	cd $basepath
	unzip $basepath/supervisor-3.3.4.zip 
	cd supervisor-3.3.4
	python setup.py install
	echo "supervisor-3.3.4 安装完成"
else
	echo "您选择了不安装supervisor-3.3.4"
fi

2、源码安装


 wget https://pypi.python.org/packages/7b/17/88adf8cb25f80e2bc0d18e094fcd7ab300632ea00b601cbbbb84c2419eae/supervisor-3.3.4.tar.gz
 tar -zxvf supervisor-3.3.4.tar.gz
 cd supervisor-3.3.4
 python setup.py install #本地python版本为python2.7

3、yum安装


yum install supervisor

四、配置文件

如果安装后,没有/etc/supervisord.conf这个配置文件,则用命令生成:


echo_supervisord_conf > /etc/supervisord.conf

五、启动


supervisord -c /etc/supervisord/supervisord.conf 
	echo "supervisor-3.3.4 启动成功"

六、设置开机启动


systemctl enable supervisord.service

七、查看 supervisord 是否在运行


ps aux | grep supervisord

八、supervisorctl管理命令


supervisorctl status      # 状态
 supervisorctl stop Nginx    #关闭 nginx
 supervisorctl start nginx    #启动 nginx
 supervisorctl restart nginx    #重启 nginx
 supervisorctl reload			  #重启全部
 supervisorctl update     #更新配置

此命令可以分着用,也可以合并使用

九、配置文件说明


[unix_Http_server]
file=/tmp/supervisor.sock ;UNIX Socket 文件,supervisorctl 会使用
;chmod=0700     ;socket文件的mode,默认是0700
;chown=nobody:nogroup  ;socket文件的owner,格式:uid:gid

;[inet_http_server]   ;HTTP服务器,提供web管理界面
;port=127.0.0.1:9001  ;Web管理后台运行的IP和端口,如果开放到公网,需要注意安全性
;username=user    ;登录管理后台的用户名
;passWord=123    ;登录管理后台的密码

[supervisord]
logfile=/tmp/supervisord.log ;日志文件,默认是 $CWD/supervisord.log
logfile_maxbytes=50MB  ;日志文件大小,超出会rotate,默认 50MB,如果设成0,表示不限制大小
logfile_backups=10   ;日志文件保留备份数量默认10,设为0表示不备份
loglevel=info    ;日志级别,默认info,其它: debug,warn,trace
pidfile=/tmp/supervisord.pid ;pid 文件
nodaemon=false    ;是否在前台启动,默认是false,即以 daemon 的方式启动
minfds=1024     ;可以打开的文件描述符的最小值,默认 1024
minprocs=200     ;可以打开的进程数的最小值,默认 200

[supervisorctl]
serverurl=unix:///tmp/supervisor.sock ;通过UNIX socket连接supervisord,路径与unix_http_server部分的file一致
;serverurl=http://127.0.0.1:9001 ; 通过HTTP的方式连接supervisord

; [program:xx]是被管理的进程配置参数,xx是进程的名称
[program:xx]
command=/opt/apache-Tomcat-8.0.35/bin/catalina.sh run ; 程序启动命令
autostart=true  ; 在supervisord启动的时候也自动启动
startsecs=10   ; 启动10秒后没有异常退出,就表示进程正常启动了,默认为1秒
autorestart=true  ; 程序退出后自动重启,可选值:[unexpected,true,false],默认为unexpected,表示进程意外杀死后才重启
startretries=3  ; 启动失败自动重试次数,默认是3
user=tomcat   ; 用哪个用户启动进程,默认是root
priority=999   ; 进程启动优先级,默认999,值小的优先启动
redirect_stderr=true ; 把stderr重定向到stdout,默认false
stdout_logfile_maxbytes=20MB ; stdout 日志文件大小,默认50MB
stdout_logfile_backups = 20 ; stdout 日志文件备份数,默认是10
; stdout 日志文件,需要注意当指定目录不存在时无法正常启动,所以需要手动创建目录(supervisord 会自动创建日志文件)
stdout_logfile=/opt/apache-tomcat-8.0.35/logs/catalina.out
stopasgroup=false  ;默认为false,进程被杀死时,是否向这个进程组发送stop信号,包括子进程
killasgroup=false  ;默认为false,向进程组发送kill信号,包括子进程

;包含其它配置文件
[include]
files =/etc/supervisord.d/*.ini ;可以指定一个或多个以.ini结束的配置文件

十、ini配置文件 举例说明


[program:MysqlToRedis]
directory = /data/py/SmartServerModel/SmartServerModel/ModelManagerServer/
command= python3 -u mysql2redis_robot_config.py cs
autostart = true
autorestart=true
startsecs = 5
user =root
redirect_stderr = true
stdout_logfile = /data/logs/supervisord/mysqltoredis.log

[program:SmartBinLog]
command= /data/Go/src/SmartBinLog/SmartBinLog
autostart = true
autorestart=true
startsecs = 5
user =root
redirect_stderr = true
stdout_logfile = /data/logs/supervisord/smartbinlog.log

[group:NLP]
programs=MysqlToRedis,SmartBinLog ;server,progname2 each refers to 'x' in [program:x] definitions
priority=999     ; the relative start priority (default 999)

十一、开启web页面管理程序

在conf配置文件中把注释的这几行代码全部解除注释,然后更改端口,用户名和密码


[inet_http_server]   ;HTTP服务器,提供web管理界面
port=127.0.0.1:9001  ;Web管理后台运行的IP和端口,如果开放到公网,需要注意安全性
username=user    ;登录管理后台的用户名
password=123    ;登录管理后台的密码

十二、解决“unix:///tmp/supervisor.sock no such file”问题

有时我们会遇到这个问题:

Linux运维工具Supervisor的安装使用(进程管理工具)
解决方案很简单:

①、停止已有supervisorctl进程

Linux运维工具Supervisor的安装使用(进程管理工具)

②、修改配置文件“/etc/supervisord.conf”,把tmp改成etc。/tmp目录下的文件会被操作系统定时回收,所以要修改

Linux运维工具Supervisor的安装使用(进程管理工具)

③、以刚刚修改的配置文件开启supervisord,这样就恢复正常啦~

Linux运维工具Supervisor的安装使用(进程管理工具)

 

--结束END--

本文标题: Linux运维工具Supervisor的安装使用(进程管理工具)

本文链接: https://www.lsjlt.com/news/20989.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Linux运维工具Supervisor的安装使用(进程管理工具)
    一、介绍 Supervisor是用python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启。目前Supervisor可以运行在大多数Unix系统上,但不...
    99+
    2022-06-04
    Linux运维工具Supervisor Linux Supervisor
  • Linux进程管理工具Supervisor怎么安装
    本篇内容主要讲解“Linux进程管理工具Supervisor怎么安装”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux进程管理工具Supervisor怎么安装”吧!实验环境系统平台cat&...
    99+
    2023-06-15
  • Linux 进程管理工具之Supervisor安装配置
    目录前言安装生成配置配置文件参数说明配置管理进程启动服务控制进程交互终端bash终端开机启动服务前言 Supervisor 是用 Python 开发的一个 client/server...
    99+
    2023-05-19
    Linux 进程管理Supervisor Linux 进程管理
  • Linux 进程管理工具之Supervisor安装配置
    目录前言安装生成配置配置文件参数说明配置管理进程启动服务控制进程交互终端bash终端开机启动服务前言 Supervisor 是用 python 开发的一个 client/server 服务,是linux/Unix系统下的...
    99+
    2023-05-12
    Linux 进程管理Supervisor Linux 进程管理
  • Linux进程管理工具supervisor安装配置教程
    环境:CentOS 7 官方文档:http://supervisord.org/ 安装 # yum install -y epel-release # yum install -y supervisor 启动...
    99+
    2022-06-03
    Linux 进程管理工具 supervisor 安装 教程
  • docker容器内安装Supervisor进程管理工具
    Supervisor进程管理工具 安装Supervisor # dLucky-php 是容器名称(也可以选择容器编号)docker exec dLucky-php apt-get install -y supervisor 创建配置文件 d...
    99+
    2023-09-01
    docker php 运维
  • 详解Supervisor安装与配置(Linux/Unix进程管理工具)
    Supervisor(http://supervisord.org/)是用python开发的一个client/server服务,是linux/Unix系统下的一个进程管理工具,不支持Windows系统。它可以很方便的监听...
    99+
    2022-06-04
    Supervisor 安装配置 Supervisor 安装
  • 开源的进程管理工具Supervisor
    Supervisor是一个开源的进程管理工具,可以帮助用户监控和控制运行在Unix-like系统上的进程。它提供了一套简单的API和...
    99+
    2023-09-22
    Supervisor
  • 基于Python 的进程管理工具supervisor使用指南
    Supervisor 是基于 Python 的进程管理工具,只能运行在 Unix-Like 的系统上,也就是无法运行在 Windows 上。Supervisor 官方版目前只能运行在 Python 2.4 ...
    99+
    2022-06-04
    管理工具 使用指南 进程
  • Cockpit - 基于Web的Linux管理工具的安装和使用教程
    Cockpit - 基于Web的Linux管理工具的安装和使用教程 一、基本介绍 1,什么是 Cockpit? (1)Cockpit 是一个免费且开源的基于 web 的 Linux 服务器管理工具并且...
    99+
    2023-09-02
    linux 运维 服务器
  • 容器管理工具 Rancher的安装与使用
    目录一、容器管理工具 Rancher 介绍二、Rancher 的安装三、Rancher 的初始化1. 添加环境2. 添加主机3. 添加应用四、应用部署1. Mysql 部署2. Ra...
    99+
    2022-11-13
    容器管理工具 Rancher Rancher安装
  • Linux下如何安装并使用KeeWeb密码管理工具
    这篇文章主要为大家展示了“Linux下如何安装并使用KeeWeb密码管理工具”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux下如何安装并使用KeeWeb密码管理工具”这篇文章吧。KeeW...
    99+
    2023-06-27
  • python进程管理工具怎么使用
    Python进程管理工具可以通过多种方式使用,以下是一些常见的用法示例:1. 使用`os`模块创建新的进程:```pythonimp...
    99+
    2023-10-12
    python
  • 如何使用Systemd进程管理工具
    这期内容当中小编将会给大家带来有关如何使用Systemd进程管理工具,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。 1. systemd介绍systemd是目前Linux系统上主要的系统守护进程...
    99+
    2023-06-15
  • JS包管理工具yarn怎么安装使用
    这篇文章主要介绍“JS包管理工具yarn怎么安装使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“JS包管理工具yarn怎么安装使用”文章能帮助大家解决问题。1. ...
    99+
    2022-10-19
  • Linux下怎么安装nodejs的版本管理工具nvm
    这篇“Linux下怎么安装nodejs的版本管理工具nvm”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Linux下怎么安装...
    99+
    2023-06-27
  • 如何使用Linux下的自动化运维工具ansible
    本篇内容介绍了“如何使用Linux下的自动化运维工具ansible”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、什么样的情形需要批量部署...
    99+
    2023-06-12
  • node进程管理工具PM2怎么使用
    今天小编给大家分享一下node进程管理工具PM2怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。PM2是node进程管...
    99+
    2023-07-02
  • Node的进程管理工具pm2怎么使用
    本篇内容介绍了“Node的进程管理工具pm2怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!PM2简介PM2是一个内建了负载均衡器的n...
    99+
    2023-07-05
  • Linux磁盘清理工具Duc怎么安装使用
    这篇文章主要讲解了“Linux磁盘清理工具Duc怎么安装使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux磁盘清理工具Duc怎么安装使用”吧!Duc简介:Duc 是一个工具集,可以...
    99+
    2023-06-28
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作