5分钟学会supervisord ,让你更方便的使用Linux

219 阅读1分钟

本文已参与「新人创作礼亅活动,一起开启掘金创作之路。

5分钟学会supervisord ,让你更方便的使用Linux

前言

supervsiord 是一个进程管理工具, 用于多进程和LOG统一管理配置.

supervisord只能维护运行于前台的服务, 任何运行后台的应用 和 运行时候 加 & 或用 nohup 无法进行统一管理.

一 \ 安装supervsiord工具

直接使用yum命令安装 yum -y install supervisord

二\ 配置supervisord

默认安装位置 /etc/supervisord.conf [unix_http_server] file=/var/run/supervisor/supervisor.sock ; (the path to the socket file)

[supervisord] logfile=/u01/log/supervisord.log logfile_maxbytes=50MB logfile_backups=10 loglevel=info pidfile=/var/run/supervisord.pid nodaemon=false minfds=1024 minprocs=200

[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

[include] files = supervisord.d/*.conf //守护进程配置文件的目录

三\ 配置守护进程

样例及说明:

     守护进程文件名(可以自己自定义)     /etc/supervisord.d/consumer.conf 

[program:consumer] #定义守护进程标签, 守护进程标签是唯一的

directory= /u01/hrmw/data-consumer/ command=java -jar data-consumer-1.0-SNAPSHOT.jar #守护进程运行方式,可以是 shell脚本,可以是任何以前台方式运行的应用 autostart=true #自启动 exitcodes=0
autorestart=true #异常重启 startretries=3 stdout_logfile=/u01/logs/consumer_stdout.log #程序标准输出 log stderr_logfile=/u01/logs/consumer_stderr.log #程序异常输出 log stdout_logfile_backups = 20 #log切割次数, 保存的历史次数

stdout_logfile_maxbytes = 30MB #单个log文件最大限制

四\ supervisord日常命令说明

4.1 supervisord工具管理命令

systemctl status supervisord

systemctl start supervisord

systemctl stop supervisord

systemctl reload supervisord

systemctl restart supervisord

4.2 守护进程管理命令

supervisorctl status #查看进程状态

supervisorctl  status  [ 进程标签]  #单独查看某一进程

supervisorctl start #启动进程

 supervisorctl start   [进程标签]   #单独启动某一进程

supervisorctl stop #停止进程

supervisorctl restart #重启进程

supervisorctl update #更新配置进程配置文件