【Linux】Supervisor使用详解及示例

参考原文:https://blog.csdn.net/qq_32109917/article/details/120985481

安装和使用非常简单,这里记录一下我的使用过程。

 

本示例目的为:快速在开发机上部署代码,不建议生产环境如此使用。

首先如参考原文中的安装:

我的系统为contos6.5:执行  yum install supervisor  即可安装完成

 

然后看主配置文件 vim /etc/supervisord.conf

;主要看这里,包含子配置文件的目录,如你未自定义则此此处一般无需改动
[include] files
= supervisord.d/*.ini

; 然后其他的就是文件目录指向,一般也无需改动
; 我这里把日志文件指向 /tmp目录
logfile=/tmp/supervisord.log  ; (main log file;default $CWD/supervisord.log)

 

 

 

新建子配置文件

cd /etc/supervisord.d

vim xxxxx.ini  名称随意,主配置文件会自动引入该子配置

[program:jiantou_build] ;项目名称
command = sh /etc/supervisord.d/git-pull.sh ; 启动命令
process_name=%(program_name)s_%(process_num)02d
numprocs = 1         ; 开启的进程数量
autostart = true     ; 在 supervisord 启动的时候也自动启>动
startsecs = 5        ; 启动 5 秒后没有异常退出,就当作已>经正常启动了
autorestart = true   ; 程序异常退出后自动重启
startretries = 3     ; 启动失败自动重试次数,默认是 3
user = root          ; 用哪个用户启动
redirect_stderr = true  ; 把 stderr 重定向到 stdout,默认
 false
stdout_logfile_maxbytes = 20MB  ; stdout 日志文件大小,默
认 50MB
stdout_logfile_backups = 5     ; stdout 日志文件备份数
; stdout 日志文件,需要手动创建目录(supervisord 会自动创>建日志文件)
; ; stdout_logfile = /home/rtb/supervisor/logs/ugdesk_api_build.log
; ; loglevel=info

 

下面是需要执行的命令脚本 git-pull.sh(位置随意,只需与子配置中填写一致即可)

#!/bin/sh   
while true
do
    cd /root/compose/dnmp/npf/jt/ && git checkout . && git checkout master  && git pull origin master
        sleep 15;
        done
        ~
~        

 

启动:supervisord -c /etc/supervisord.conf ,一般这个时候就OK了

查看状态:
supervisorctl status  或者   ps -ef | grep supervisor

 

其他命令

supervisorctl update //配置文件修改后使用该命令加载新的配置

supervisorctl reload //重新启动配置中的所有程序

 

如有其他问题可参考原文。

posted @ 2022-06-20 19:18  _Eternity味道  Views(1100)  Comments(0Edit  收藏  举报