Ubuntu下Supervisor的配置教程

Ubuntu下Supervisor的配置教程


使用supervisor设置脚本开机自启

Ubuntu安装Supervisor

#Ubuntu安装Supervisor
apt install -y supervisor
#supervisor开机自启:
systemctl enable supervisor
# 开始运行
systemctl start supervisor

管理应用的配置
进入到/etc/supervisord.d/conf目录,创建管理应用的配置,可以创建多个应用配置。

cd /etc/supervisor/conf.d

例如,创建test.conf配置。

touch test.conf

启动项配置指南:

参考地址: https://cikeblog.com/supervisor.html

#程序的名字,在supervisor中可以用这个名字来管理该程序。
[program:confd]
#程序的启动目录,相当于在该目录下执行程序
directory = /usr/local/bin ; 
#程序的启动命令,与命令行启动的命令是一样的
command = /usr/local/bin/confd -config-file /etc/confd/confd.toml ; 
#在 supervisord 启动的时候也自动启动
autostart = true ; 
#启动 5 秒后没有异常退出,就当作已经正常启动了
startsecs = 5 ; 
#程序异常退出后自动重启
autorestart = true ; 
#启动失败自动重试次数,默认是 3
startretries = 3 ; 
#用哪个用户启动
user = root ; 
#把 stderr 重定向到 stdout,默认 false,是否将程序错误信息重定向的到文件
redirect_stderr = true ; 
#stdout 日志文件大小,默认 50MB
stdout_logfile_maxbytes = 20MB ;
#stdout 日志文件备份数
stdout_logfile_backups = 20 ; 
#日志输出的目录
stdout_logfile = /etc/supervisord.d/log/confd.log ;
#程序错误信息输出到该文件
stderr_logfile = /home/lege/supervisor_log/err.txt 

#可以通过 environment 来添加需要的环境变量,一种常见的用法是修改 PYTHONPATH
environment = PYTHONPATH=$PYTHONPATH:/path/to/somewhere

Supervisor 相关命令

#重载supervisor
supervisorctl reload
#更新supervisor
supervisorctl update
#查看状态
supervisorctl status
#更新新的配置到supervisord
supervisorctl update
#启动所有/指定的程序进程
supervisorctl start [all]|[x]
#关闭所有/指定的程序进程
supervisorctl stop [all]|[x]
#启动supervisor
supervisord
#通过配置文件启动supervisor
supervisord -c supervisor.conf
#开启test服务
supervisorctl start test

开机自启脚本常用配置:

[program:tcp]
command=socat TCP4-LISTEN:8080,reuseaddr,fork TCP4:66.98.124.116:443
autorestart=true
user=root

参考地址:https://blog.csdn.net/huwh_/article/details/80497790

添加开机启动

#以ss开机启动为例
cd /etc/supervisor/conf.d/
#创建开机启动脚本配置文件
touch *.conf
#编辑/etc/supervisor/conf.d/*.conf
vim /etc/supervisor/conf.d/*.conf

编写开机启动脚本

#添加下面内容:
[program:*]
command=sslocal -c /etc/*.json
autorestart=true
user=nobody
#保存退出

用supervisorctl启动脚本

#启动脚本
supervisorctl start *
#如果修改了脚本,每次修改完都要执行reload命令,才能正常启动脚本
supervisorctl reload
#更新任务
supervisorctl update
#web管理任务
vim /etc/supervisor/supervisord.conf

修改配置文件

修改配置文件,添加下列配置
[inet_http_server]

port=0.0.0.0:9001 ; 对所有ip都可以访问

username=xxx ;自定义

password=xxx ;自定义

#保存
:wq 

#最后重置supervisor
supervisorctl reload

参考文献:https://www.jianshu.com/p/b2a2bd0c81c5
https://blog.csdn.net/jackghq/article/details/62937208

https://www.centos.bz/2018/06/centos7-3%E9%85%8D%E7%BD%AEsupervisor%E9%81%87%E5%88%B0%E7%9A%84%E4%B8%80%E4%BA%9B%E5%B0%8F%E9%97%AE%E9%A2%98/

上一篇:supervisor 安装教程


下一篇:Supervisor-守护进程工具