#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 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 shadowsocks.conf #编辑/etc/supervisor/conf.d/shadowsocks.conf vim /etc/supervisor/conf.d/shadowsocks.conf
#添加下面内容: [program:shadowsocks] command=sslocal -c /etc/shadowsocks.json autorestart=true user=nobody #保存退出
#启动脚本 supervisorctl start shadowsocks #如果修改了脚本,每次修改完都要执行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/