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/