supervisor的安装部署及集群管理

本文介绍了进程管理工具Supervisor的安装、配置、管理进程的方法,包括启动、停止和重启服务。详细讲解了配置文件、Web界面配置以及如何进行开机启动。此外,文章还讨论了Supervisor在集群管理中的局限性和一些第三方解决方案,如cesi的使用步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

supervisor官网:http://www.supervisord.org/

参考链接:

http://blog.youkuaiyun.com/xyang81/article/details/51555473

https://www.cnblogs.com/smail-bao/p/5673434.html

1,介绍

Supervisor是一个进程管理工具,就是有一个进程需要每时每刻不断的运行,但是这个进程又有可能由于各种原因有可能停止运行。当进程停止运行的时候我们希望能自动重新启动,Supervisor就可以帮我们实现。Supervisor是用Python开发的,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启。它是通过fork/exec的方式把这些被管理的进程当作supervisor的子进程来启动,这样只要在supervisor的配置文件中,把要管理的进程的可执行文件的路径写进去即可。也实现当子进程挂掉的时候,父进程可以准确获取子进程挂掉的信息的,可以选择是否自己启动和报警。supervisor还提供了一个功能,可以为supervisord或者每个子进程,设置一个非root的user,这个user就可以管理它对应的进程。

supervisor的命令主要有:

supervisord : supervisor的服务器端部分,启动supervisor就是运行这个命令

supervisorctl:启动supervisor的命令行窗口。

2.安装

第一种方法:

pip install  supervisor

pip的安装

cat  pip_an.sh 
#!/bin/bash
wget http://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gz
tar zxvf setuptools-0.6c11.tar.gz
cd setuptools-0.6c11
python setup.py build
python setup.py install
wget "https://pypi.python.org/packages/source/p/pip/pip-1.5.4.tar.gz#md5=834b2904f92d46aaa33326"
tar -xzvf pip-1.5.4.tar.gz
cd pip-1.5.4
python setup.py install

 

第二种

yum install python-setuptools
easy_install supervisor

第三种

wget https://pypi.python.org/packages/source/s/supervisor/supervisor-3.1.3.tar.gz
tar zxvf supervisor-3.1.3.tar.gz
cd supervisor
python setup.py install

第四种

easy_install supervisor
yum install -y epel-release
yum install -y python-pip
pip install supervisor
yum install supervisor

3.测试

#测试是否安装成功
echo_supervisord_conf

#创建配置文件
echo_supervisord_conf > /etc/supervisord.conf

4.配置文件讲解

 [root@centos-011 ~ 07:50:00]#cat /etc/supervisord.conf.bak
  ; Sample supervisor config file.
    
  [unix_http_server]
  file=/var/run/supervisor/supervisor.sock   ; socket 路径
   
  ;chmod=0700                 ; socket 文件的权限
  ;chown=nobody:nogroup       ; socket 所属用户及组
  ;username=user              ; 用户名
  ;password=123               ; 密码
    
  ;[inet_http_server]         ; 是否启用服务,默认是关闭的(启用的话可以看到supervisor 管理的服务状态)
  ;port=127.0.0.1:9001        ; 监听的IP及端口
  ;username=user              ; 用户名
  ;password=123               ; 密码
    
  [supervisord]               ; supervisord 全局配置
  logfile=/var/log/supervisor/supervisord.log  ; supervisor 日志路径
  logfile_maxbytes=50MB       ; 单个日志文件最大数
  logfile_backups=10          ; 保留多少个日志文件(默认10个)
  loglevel=info               ; (log level;default info; others: debug,warn,trace)
  pidfile=/var/run/supervisord.pid ; pid 文件路径
  nodaemon=false              ; 启动是否丢到前台,设置为false ,表示以daemon 的方式启动
  minfds=1024                 ; 最小文件打开数,对应系统limit.conf 中的nofile ,默认最小为1024,最大为4096
  minprocs=200                ; 最小的进程打开数,对应系统的limit.conf 中的nproc,默认为200
  ;umask=022                  ; (process file creation umask;default 022)
  ;user=chrism                 ; 启动supervisord 服务的用户,默认为root
  ;identifier=supervisor       ; (supervisord identifier, default is 'supervisor')
  ;directory=/tmp              ; 这里的目录指的是服务的工作目录
  ;nocleanup=true              ; (don't clean up tempfiles at start;default false)
  ;childlogdir=/tmp            ; ('AUTO' child log dir, default $TEMP)
  ;environment=KEY=value       ; (key value pairs to add to environment)
  ;strip_ansi=false            ; (strip ansi escape codes in logs; def. false)
   
  ; the below section must remain in the config file for RPC
  ; (supervisorctl/web interface) to work, additional interfaces may be
  ; added by defining them in separate rpcinterface: sections
  [rpcinterface:supervisor]
  supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
   
  [supervisorctl]
  serverurl=unix:///var/run/supervisor/supervisor.sock ; use a unix:// URL  for a unix socket
  ;serverurl=http://127.0.0.1:9001 ; use an http:// url to specify an inet socket
  ;username=chris       
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值