共计 1224 个字符,预计需要花费 4 分钟才能阅读完成。
Supervisor 是一个 C/S 模型的程序,
supervisord
是 server 端,supervisorctl
是 client 端。supervisorctl 是 supervisord 的命令行客户端工具
安装
apt-get install supervisor
服务端命令
supervisord
supervisord -c /etc/supervisord.conf
客户端命令
输入命令 supervisorctl
进入 supervisorctl 交互界面
- help # 查看帮助
- status # 查看程序状态
- stop program_name # 关闭 指定的程序
- start program_name # 启动 指定的程序
- restart program_name # 重启 指定的程序
- tail -f program_name # 查看 该程序的日志
- update # 重启配置文件修改过的程序(修改了配置,通过这个命令加载新的配置)
也可以直接通过 shell 命令操作:
- supervisorctl status
- supervisorctl update (热更新配置)
- supervisorctl reload (重启)
分组配置模板
一个配置文件,配置多个进程。新建文件
php-service.conf
[group:php-service]
programs=php-queue, php-socket
priority=20
[program:php-queue]
command=php think queue:listen --queue AsyncJob
directory=/app/www/shejiao_api/
autorestart=true
startsecs=3
startretries=3
stdout_logfile=/app/logs/php-queue.out.log
stderr_logfile=/app/logs/php-queue.err.log
stdout_logfile_maxbytes=2MB
stderr_logfile_maxbytes=2MB
priority=999
numprocs=2
process_name=%(program_name)s_%(process_num)02d
[program:php-socket]
command=php think socket directory=/app/www/shejiao_api/ autorestart=true startsecs=3 startretries=3 stdout_logfile=/app/logs/socket.out.log stderr_logfile=/app/logs/socket.err.log stdout_logfile_maxbytes=2MB stderr_logfile_maxbytes=2MB priority=999 numprocs=1 process_name=%(program_name)s_%(process_num)02d
正文完
JXdTufeUqOL