supervisor 文档

supervisor 是用 Python 开发的一个 C/S 服务。是 Linux/Unix 系统下的进程管理工具。它可以很方便的监听、启动、停止、重启一个或多个进程。用Supervisor管理的进程,当一个进程意外被杀死,supervisort监听到进程死后,会自动将它重新拉起,很方便的做到进程自动恢复的功能,不再需要自己写shell脚本来控制。

安装

pip 方式

pip install supervisor

yum 方式

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum install supervisor -y
配置文件

pip 安装的需自行生成配置文件

echo_supervisord_conf > /etc/supervisord.conf

cat /etc/supervisord.conf

[unix_http_server]
file=/opt/supervisor.sock   ; supervisorctl 使用的 socket 文件
chmod=0700                 ; socket 文件权限
;chown=nobody:nogroup       ; socket file uid:gid owner
;username=user              ; default is no username (open server)
;password=123               ; default is no password (open server)

[inet_http_server]         ; web 管理界面,即在页面做重启、停止等操作
port=*:9001                ; 监听端口
username=admin             ; 用户
password=123               ; 密码

[supervisord]
logfile=/var/log/supervisord.log ; supervisor日志文件 $CWD/supervisord.log
logfile_maxbytes=50MB        ; 日志文件大小,默认 50MB
logfile_backups=1           ; 默认保留1个文件
loglevel=info                ; 日志级别,默认info; 其他格式: debug,warn,trace
pidfile=/var/run/supervisord.pid ; pid 文件
nodaemon=false               ; 是否在前台运行,默认false,以 daemon模式运行
minfds=1024                  ; 可以打开文件描述符的最小值
minprocs=200                 ; 可以打开进程数最小值
;umask=022                   ; process file creation umask; default 022
;user=chrism                 ; default is current user, required if root
;identifier=supervisor       ; supervisord identifier, default is 'supervisor'
;directory=/opt              ; default is not to cd during start
;nocleanup=true              ; don't clean up tempfiles at start; default false
;childlogdir=/opt            ; '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


[supervisorctl]
serverurl=unix:///opt/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              ; should be same as in [*_http_server] if set
;password=123                ; should be same as in [*_http_server] if set
;prompt=mysupervisor         ; cmd line prompt (default "supervisor")
;history_file=~/.sc_history  ; use readline history if available


[include]
files = /etc/supervisord.d/*.conf ;子文件

管理tomcat配置文件

cat /etc/supervisord.d/cms.conf

[program:cms]
command=/home/work/tomcat/cms-102/apache-tomcat-7.0.88/bin/catalina.sh run
environment=JAVA_HOME="/usr/local/jdk/",JAVA_BIN="/usr/local/jdk/bin"
stdout_logfile=/home/work/tomcat/cms-102/apache-tomcat-7.0.88/logs/catalina.out
autostart=true
autorestart=true
startsecs=5
priority=1
stopasgroup=true
killasgroup=true

执行

# supervisord -c /etc/supervisord.conf
# supervisorctl 
cms                              RUNNING   pid 12328, uptime 5:59:22
free-wifi                        RUNNING   pid 10534, uptime 6:31:34
government-services              RUNNING   pid 10475, uptime 6:31:34
idcard                           RUNNING   pid 13469, uptime 4:01:20

# supervisorctl restart cms
# supervisorctl start cms
# supervisorctl stop cms

转载于:https://www.cnblogs.com/fsckzy/p/10750459.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Supervisor是一个用于管理和监控进程的工具,可以确保进程始终处于运行状态。以下是使用Supervisor的基本教程: 1. 安装Supervisor:首先,你需要在你的系统中安装Supervisor。具体安装步骤因操作系统而异。你可以通过包管理器(如apt、yum或brew)来安装Supervisor。 2. 配置SupervisorSupervisor的配置文件位于/etc/supervisor/supervisord.conf。你可以通过编辑此文件来配置需要监控的进程。 3. 添加进程配置:在配置文件中,你可以为每个要监控的进程添加一个节(section)。以下是一个示例: ``` [program:myprocess] command=/path/to/your/process directory=/path/to/working/directory autostart=true autorestart=true user=user_name ``` 在上面的示例中,你需要将`/path/to/your/process`替换为要监控的进程的实际路径。`directory`是进程运行时的工作目录。`autostart`和`autorestart`选项用于定义进程自动启动和自动重启的行为。`user`选项指定以哪个用户身份运行该进程。 4. 保存并重启Supervisor:保存Supervisor配置文件后,重新启动Supervisor以使更改生效。可以使用以下命令重启Supervisor: ``` sudo service supervisor restart ``` 5. 管理进程:一旦Supervisor启动,它将开始监控配置文件中指定的进程。你可以使用以下命令管理进程(以示例中的myprocess为例): ``` sudo supervisorctl start myprocess # 启动进程 sudo supervisorctl stop myprocess # 停止进程 sudo supervisorctl restart myprocess # 重启进程 ``` 这是一个Supervisor的基本教程,希望能对你有所帮助。如需了解更多信息,可以参考Supervisor的官方文档或其他相关资源。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值