linux centos7 安装supervisor教程

linux centos7 安装supervisor教程,第1张

1、首先确认自己的Linux系统是 centos
[root@lljz01 club_app_api]# cat  /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
注意:安装前,将用户切换到 root 用户 2、yum 命令安装 supervisor
yum install -y supervisor
3、设置开启自启
systemctl enable supervisord
4、启动supervisord服务
systemctl start supervisord
5、重启supervisord服务
systemctl restart supervisord
6、查看supervisord服务状态

7、配置 supervisor的配置文件
vim /etc/supervisord.conf
说明: supervisord.conf 配置文件中,有很多配置项,我把暂时不用的都删掉,至于删与不删,根据个人需求而定。



我修改完的配置文件内容如下:

; Sample supervisor config file.

[unix_http_server]
file=/var/run/supervisor/supervisor.sock   ; (the path to the socket file)
chmod=0700                 ; sockef file mode (default 0700)

[supervisord]
logfile=/var/log/supervisor/supervisord.log  ; (main log file;default $CWD/supervisord.log)
pidfile=/var/run/supervisord.pid ; (supervisord pidfile;default supervisord.pid)
childlogdir=/var/log/supervisor            ; ('AUTO' child log dir, default $TEMP)

; 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

; The [include] section can just contain the "files" setting.  This
; setting can list multiple files (separated by whitespace or
; newlines).  It can also contain wildcards.  The filenames are
; interpreted as relative to this file.  Included files *cannot*
; include files themselves.

[include]
files = /etc/supervisord.d/*.conf
原始的配置文件说明如下:
# 调整增加引入配置文件路径,这个路径放置项目对应的 supervisor 配置文件
[include]
files = /etc/supervisor/*.conf 

配置模版
[program:laravel-worker1]
process_name=%(program_name)s_%(process_num)02d
command=php /home/wwwroot/studytime.xin/artisan queue:work redis --sleep=3 --tries=3 --daemon
autostart=true
autorestart=true
user=root
numprocs=3
redirect_stderr=true
stdout_logfile=/home/baihe/worker1.log

配置说明
;*为必须填写项
;*[program:应用名称]
[program:cat]
;*命令路径,如果使用python启动的程序应该为 python /home/test.py, 
;不建议放入/home/user/, 对于非user用户一般情况下是不能访问
command=/bin/cat
;当numprocs为1时,process_name=%(program_name)s
;当numprocs>=2时,%(program_name)s_%(process_num)02d
process_name=%(program_name)s

;进程数量
numprocs=1

;执行目录,若有/home/supervisor_test/test1.py
;将directory设置成/home/supervisor_test
;则command只需设置成python test1.py
;否则command必须设置成绝对执行目录
directory=/tmp
;掩码:--- -w- -w-, 转换后rwx r-x w-x
umask=022

;优先级,值越高,最后启动,最先被关闭,默认值999
priority=999

;如果是true,当supervisor启动时,程序将会自动启动
autostart=true

;*自动重启
autorestart=true

;启动延时执行,默认1秒
startsecs=10

;启动尝试次数,默认3次
startretries=3

;当退出码是0,2时,执行重启,默认值0,2
exitcodes=0,2

;停止信号,默认TERM
;中断:INT(类似于Ctrl+C)(kill -INT pid),退出后会将写文件或日志(推荐)
;终止:TERM(kill -TERM pid)
;挂起:HUP(kill -HUP pid),注意与Ctrl+Z/kill -stop pid不同
;从容停止:QUIT(kill -QUIT pid)
;KILL, USR1, USR2其他见命令(kill -l),说明1
stopsignal=TERM
stopwaitsecs=10

;*以root用户执行
user=root

;重定向
redirect_stderr=false
stdout_logfile=/a/path
stdout_logfile_maxbytes=1MB
stdout_logfile_backups=10
stdout_capture_maxbytes=1MB
stderr_logfile=/a/path
stderr_logfile_maxbytes=1MB
stderr_logfile_backups=10
stderr_capture_maxbytes=1MB
8、常用的管理命令如下
#停止服务
# systemctl stop supervisord  
#启动服务 
# systemctl start supervisord
#查看服务状态
# systemctl status supervisord
#加载新添加的配置
# systemctl reload supervisord
#重启服务
# systemctl restart supervisord

#重启单个指定的队列
supervisorctl restart 队列名称:*

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/568545.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-09
下一篇 2022-04-09

发表评论

登录后才能评论

评论列表(0条)

保存