Supervisor
安装
$ sudo yum install python3 python3-devel
$ sudo pip3 install supervisor
配置
/data/supervisord/supervisord.conf
[unix_http_server]
file = /tmp/supervisord.sock
chmod = 0777
chown= wanlu:wanlu
[inet_http_server] ; inet (TCP) server disabled by default
port=127.0.0.1:9001 ; (ip_address:port specifier, *:port for all iface)
;username=webaby ; (default is no username (open server))
;password=testtesttest ; (default is no password (open server))
# 必须和'unix_http_server'里面的设定匹配
[supervisorctl]
serverurl = unix:///tmp/supervisord.sock
# 守护进程配置
[supervisord]
logfile = /data/app_logs/supervisord/supervisord.log
logfile_maxbytes = 50MB
logfile_backups = 5
loglevel = info
pidfile = /tmp/supervisord.pid
nodaemon = false
minfds = 1024
minprocs = 200
user = wanlu
childlogdir = /data/app_logs/supervisord/
# RPC接口
[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
# 进程配置文件
[include]
files = /data/supervisord/confs/*.conf
启动
$ supervisord -c /data/supervisord/supervisord.conf
代理服务器
/data/supervisord/confs/daze.conf
[program:daze]
directory=/data/go/daze
command=/data/go/daze/daze client -s 124.156.168.68:1081 -l 10.0.2.15:1080
autostart = true
autorestart = true
startsecs = 5
redirect_stderr = true
stdout_logfile_maxbytes = 40MB
stdout_logfile_backups = 5
stdout_logfile = /data/app_logs/supervisord/daze.log
$ supervisorctl update
$ supervisorctl start daze
etcd
/data/supervisord/confs/etcd.conf
[program:etcd]
directory=/data/etcd/etcd-v3.5.0-linux-amd64
command=/data/etcd/etcd-v3.5.0-linux-amd64/etcd --config-file=/data/etcd/confs/etcd.conf
autostart = true
autorestart = true
startsecs = 5
redirect_stderr = true
stdout_logfile_maxbytes = 40MB
stdout_logfile_backups = 5
stdout_logfile = /data/app_logs/supervisord/etcd.log
$ supervisorctl update
$ supervisorctl start etcd