配置

配置文件
主程序配置文件:/etc/supervisor.ini

保活程序

保活程序配置文件:/etc/supervisor.d/xxxx.ini
单个配置文件中可以配置多个项目

go

  1. [program:cms-api]
  2. directory=/home/bae/wwwroot/cms-api
  3. command=/home/bae/go/bin/gf run http.go
  4. autostart=true
  5. autorestart=true
  6. redirect_stderr=true
  7. stdout_logfile=/var/log/supervisor/cms-api.log
  8. startretries=1
  9. environment=GOPROXY="https://mirrors.aliyun.com/goproxy/",GOPRIVATE=gitlab.licaimofang.com,GO111MODULE="on"
  10. [program:cms-api2]
  11. directory=/home/bae/wwwroot/cms-api2
  12. command=/home/bae/go/bin/gf run http.go
  13. autostart=true
  14. autorestart=true
  15. redirect_stderr=true
  16. stdout_logfile=/var/log/supervisor/cms-api.log
  17. startretries=1
  18. environment=GOPROXY="https://mirrors.aliyun.com/goproxy/",GOPRIVATE=gitlab.licaimofang.com,GO111MODULE="on"

nginx

[program:nginx]
command=/usr/sbin/nginx -c /etc/nginx/nginx.conf -g "daemon off;"
autostart=true
autorestart=true
redirect_stderr=true
stdout_logfile=/var/log/nginx/nginx.log
startretries=10
~

php-fpm

[program:php-fpm]
command=/usr/sbin/php-fpm
autostart=true
autorestart=true
user=bae
redirect_stderr=true
stdout_logfile=/var/log/php/supervisor-php-fpm.log
startretries=10

other

[program:redis]
command=/usr/bin/redis-server /etc/redis.conf

[program:ssh]
command=/usr/sbin/sshd -D


[program:kapi-web]
directory=/home/bae/wwwroot/kapi-web
command=/bin/php bin/laravels start -i
autostart=true
autorestart=true
redirect_stderr=true
stdout_logfile=/var/log/supervisor/kapi-web.log
startretries=1
user=bae
~

配置项

命令

保活程序运行状态

所有
supervisorctl status
单个
supervisorctl status cms-api

filebeat                         RUNNING   pid 67517, uptime 35 days, 22:48:46
kapi-web                         RUNNING   pid 67522, uptime 35 days, 22:48:46
nginx                            RUNNING   pid 67521, uptime 35 days, 22:48:46
php-fpm                          RUNNING   pid 67519, uptime 35 days, 22:48:46
redis                            RUNNING   pid 67520, uptime 35 days, 22:48:46
ssh                              RUNNING   pid 67523, uptime 35 days, 22:48:46

启动

supervisorctl start 程序名

重启

supervisorctl restart 程序名

关闭

supervisorctl stop 程序名

修改配置后是新的配置生效

重新载入配置文件,新增的配置文件会生效,保活服务会被启动
supervisorctl update

进入 shell 模式

supervisorctl

[root@hjq-dev7-d cms-api]# supervisorctl
cms-api                          STOPPED   Oct 21 05:20 PM
filebeat                         RUNNING   pid 67517, uptime 36 days, 20:31:03
kapi-web                         RUNNING   pid 67522, uptime 36 days, 20:31:03
nginx                            RUNNING   pid 67521, uptime 36 days, 20:31:03
php-fpm                          RUNNING   pid 67519, uptime 36 days, 20:31:03
redis                            RUNNING   pid 67520, uptime 36 days, 20:31:03
ssh                              RUNNING   pid 67523, uptime 36 days, 20:31:03
supervisor> help

default commands (type help <topic>):
=====================================
add    exit      open  reload  restart   start   tail
avail  fg        pid   remove  shutdown  status  update
clear  maintail  quit  reread  signal    stop    version

supervisor>

清除日志

supervisorctl clear 程序名

所有程序

supervisorctl stop all
supervisorctl start all
supervisorctl restart all

自身服务

启动

sudo unlink /var/run/supervisor.sock
supervisord -c /etc/supervisor/supervisord.conf

关闭服务

//关闭所有保活服务
supervisorctl stop all
//关闭服务
ps -ef | grep super
kill -9 pid