centos下supervisor的使用笔记

supervisor是一个守护进程工具

VPS 上跑 frp、小脚本,SSH 断开就停,用 supervisor 托管进程、挂了就拉起来,比手写 nohup 省心。CentOS 上记录如下。

安装

yum install -y supervisor

装完一般有 systemctl enable supervisord,没开的话后面自己配开机自启。

配置

安装后会生成如下内容

2019-09-03T02:33:19.png

主配置在 /etc/supervisord.conf,业务进程别全塞主文件,按提示拆到子目录。

我们查看一下/etc/supervisord.conf,发现文件最后一行

2019-09-03T02:39:38.png

这就是在提示我们把配置文件写supervisord.d目录下的ini文件里。

创建配置文件

  1. 首先切换到supervisord.d目录

  2. touch frps.ini

  3. nano frps.ini

  4. 复制以下内容(示例为运行frps服务端)

command 写绝对路径最稳;user 按最小权限来,能不用 root 就不用。日志打到 /tmp 方便先看一眼,长期跑建议改到 /var/log

[program:frps]
user=root
command=/root/frp/frps/frps -c /root/frp/frps/frps.ini
startsecs=1
startretries=100
autorstart=true
autorestart=true
stderr_logfile=/tmp/err-frps.log
stderr_logfile_maxbytes=50MB
stderr_logfile_backups=10
stdout_logfile=/tmp/out-frps.log
stdout_logfile_maxbytes=50MB
stdout_logfile_backups=10

tips

改完 ini 别只 restart 单进程,新 [program:xxx] 要先 reload 让主进程重新扫配置:

supervisorctl status //查看状态
supervisorctl reload //重载配置文件

supervisorctl restart frps 只重启某一个;statusFATALBACKOFF 去看 stderr_logfile

运行

supervisorctl reload
supervisord -c /etc/supervisord.conf

若提示 supervisord 已在跑,第二条可省略。然后再配置好开机自启就OK了(systemctl enable supervisord)。

版权声明: 本文首发于 指尖魔法屋-centos下supervisor的使用笔记https://blog.thinkmoon.cn/post/401-notes-centos-supervisor-linux/) 转载或引用必须申明原指尖魔法屋来源及源地址!