Linux运维工具Supervisor(进程管理工具)

文章目录

  • 一、介绍
  • 二、自带Web管理程序
  • 三、安装
    • 1、安装
    • 2、源码安装
    • 3、yum安装
  • 四、配置文件
  • 五、启动
  • 六、设置开机启动
  • 七、查看 supervisord 是否在运行
  • 八、supervisorctl管理命令
  • 九、配置文件说明
  • 十、ini配置文件 举例说明
  • 十一、开启web页面管理程序
  • 十二、解决“unix:///tmp/supervisor.sock no such file”问题

一、介绍

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

二、自带Web管理程序

在这里插入图片描述

三、安装

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

1、安装

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

2、源码安装

    wget https://pypi.python.org/packages/7b/17/88adf8cb25f80e2bc0d18e094fcd7ab300632ea00b601cbbbb84c2419eae/supervisor-3.3.4.tar.gztar -zxvf supervisor-3.3.4.tar.gzcd supervisor-3.3.4python 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                #关闭 nginxsupervisorctl start nginx                #启动 nginxsupervisorctl restart nginx             #重启 nginxsupervisorctl 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”问题

有时我们会遇到这个问题:
在这里插入图片描述
解决方案很简单:
①、停止已有supervisorctl进程
在这里插入图片描述
②、修改配置文件“/etc/supervisord.conf”,把tmp改成etc。/tmp目录下的文件会被操作系统定时回收,所以要修改
在这里插入图片描述
③、以刚刚修改的配置文件开启supervisord,这样就恢复正常啦~
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/351203.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

【Supervisor】Python 进程管理工具

Supervisor的安装配置与使用 一、简介 【1】Supervisor是Python开发的进程管理工具(Client/Server系统),可以管理和监控Unix,Linux,Mac OS X 系统上的进程,无法运行在Windows上 【2】Supervisor官方版目前只…

Python supervisor 强大的进程管理工具

一、问题背景 1、背景 如何才能让一个进程摆脱终端,获得相对较长的生命周期? 2、后台(守护)、前台进程 什么是守护进程?通俗点讲就是后台跑着的进程,不会因为你关了终端服务就会随之停止,直到你把计算机的电源关闭…

进程管理工具supervisor的使用、常见报错问题处理

进程管理工具supervisor的使用、常见报错问题处理 1 安装2 简介2.1 supservisor自身提供三个命令:2.1.1 supervisorctl2.1.2 supervisord2.1.3 echo_supervisord_conf 2.2 配置文件2.3 重要事项2.4 查看supervisor的log日志 3 配置3.1 修改配置文件3.2 加载配置文件…

进程管理工具——Supervisord简介及安装

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

Supervisor进程管理详解

文章目录 1. supervisor简介2. supervisor安装2.1 安装方式2.2 验证 3. supervisor配置文件3.1 主配置文件3.2 子配置文件(program 配置)3.2.1 详细配置3.2.2 公司配置 4. 进程管理命令5. web管理(不常用)6. Supervisor配置systemctl服务7. Supervisor管…

Linux 中进程管理工具汇总

如果我们的Linux系统整个系统资源快要被耗尽时,我们是否能够找出那个最消耗系统资源的进程,然后删除该进程,让系统恢复正常呢,或者由于某个程序存在BUG,导致产生一系列的问题,有如何查找它并结束进程&#…

Supervisor安装与配置(Linux/Unix进程管理工具)

原文链接:http://blog.csdn.net/xyang81/article/details/51555473 Supervisor(http://supervisord.org/)是用Python开发的一个client/server服务,是Linux/Unix系统下的一个进程管理工具,不支持Windows系统。它可以很…

linux进程管理工具:supervisor

各种各样的程序运行情况中,或多或少都会有一些服务是用脚本跑起来的,我们通常的做法一般都是让其在后台运行,例如使用nohup,&等命令。 而这样的方法并不十分可靠,所以在这里推荐一个非常好用的进程管理工具&#x…

进程管理工具Supervisor

简介 Supervisor是一个客户端/服务器系统,允许用户在类UNIX操作系统上控制许多进程。它是基于python语言开发一个进程管理工具。 Supervisor的服务器端称为supervisord,主要负责在启动自身时启动管理的子进程,响应客户端的命令,重…

Supervisor 进程管理

一、简介 supervisor 是一个Python开发的、通用的进程管理程序。当程序中断时,supervisor能自动重启它,不再需要程序员或系统管理员自己编写代码来控制。 supervisor要求管理程序是非daemon程序,supervisor会把程序转成daemon程序&#xff0…

电脑技巧:进程管理工具Process Explorer介绍

目录 1、介绍 2、常用功能介绍 2.1 替代微软自带的任务管理器 2.2 查看当前系统中运行的进程 2.3 查看进程的详细信息 2.4 检索进程 2.5 监控操作系统的性能指标 2.6 获取Dump文件 2.7 进程操作功能 今天给大家推荐一款非常强大的进程管理工具Process Explorer,感兴…

进程管理工具

目录 一、进程管理工具(Supervisor) 简介 二、Supervisor安装与配置 介绍Supervisor 一、进程管理工具(Supervisor) 简介 Supervisor是用Python开发的一个client/server服务,是Linux/Unix系统下的一个进程管理工具,不支持Windows系统。它可以很方便的…

QLoRA:量化 LLM 的高效微调

此 repo 支持论文“QLoRA:量化 LLM 的高效微调”,旨在使对 LLM 研究的访问民主化。 QLoRA 使用bitsandbytes进行量化,并与 Hugging Face 的PEFT和transformers库集成。QLoRA 由华盛顿大学 UW NLP 小组的成员开发。 概述 我们介绍了 QLoRA&…

访问学者申请中4个难点解析

近年来,越来越多的学者希望通过申请成为访问学者来扩展他们的研究领域和学术交流。然而,访问学者申请过程中存在一些难点,下面知识人网来解析其中的4个难点。 首先,第一个难点是选择适合的研究机构。访问学者需要仔细考虑自己的研…

Fiddler抓包工具之高级工具栏中的Inspectors的使用

高级工具栏中的Inspectors的使用 Inspectors 页签允许你用多种不同格式查看每个请求和响应的内容。JPG 格式使用 ImageView 就可以看到图片,HTML/JS/CSS 使用 TextView 可以看到响应的内容。Raw标签可以查看原始的符合http标准的请求和响应头。Cookies标签可以看到…

人才“选用育留”难?做好这步,人力资源或许比你想象的更轻松

人才作为企业生存和发展最重要的资源之一,如何发现、使用、培养、留住优秀人才是所有企业人力资源管理的关键。但在实际场景当中,“招聘流程长造成人才流失”、“员工招聘不精准、效率低”、“员工培育周期长、成本高”、“优秀人才留不住”等问题正深深…

win10系统怎么安装显卡驱动,驱动人生详细教程

驱动人生的用户跟小编咨询说,windows10系统要怎么安装显卡驱动?或者win10怎样安装网卡驱动、声卡驱动等等驱动程序 其实是很简单的,下面小编在这里给大家介绍一下用驱动人生安装显卡驱动的具体步骤 1、打开**驱动人生**选择设备管理器,然后…

驱动人生解决“检测到你的驱动版本比较低”的问题

有驱动人生用户反应在电脑上用模拟器玩阴阳师游戏的时候被提示“检测到你的驱动版本比较低”,造成这个情况可能是电脑驱动没有更新或电脑没有达到阴阳师游戏的最低配置,驱动人生建议按照以下方法解决。 一:驱动没有更新的解决方案 驱动没有…

电脑显卡驱动错误代码43怎么办?驱动人生解决方案

如果驱动人生8全面诊断提示显卡代码43,那就可能意味着这个显卡有质量问题。因为显卡代码43至少90%以上概率都是显卡物理性坏了。 如果你想解决显卡代码43问题,建议按照驱动人生的解决方案一个一个去尝试看看能不能解决。本文有点长,请耐心看…

驱动人生2014 v6.0.9.70 绿色版

驱动人生2014 v6.0.9.70 绿色版 软件大小:16.5MB 软件语言:简体中文 软件性质:常用软件 软件授权:绿色版 更新时间:2014-04-02 应用平台:/Win8/Win7/WinXP 驱动人生2014是一款电脑硬件驱动管理软件&a…