Supervisor 是一个 Linux 操作系统上的进程监控软件,详细的介绍可查看官网;在 Ubuntu 安装 Supervisor,可以用以下命令:

1
sudo apt-get install supervisor

常用配置及说明如下:

1
2
3
4
5
6
7
8
9
10
11
12
[program:minhow] //应用名称
process_name=%(program_name)s_%(process_num)02d //当numprocs为1时,process_name=%(program_name)s,当numprocs>=2时,%(program_name)s_%(process_num)02d
command=php /home/vagrant/kjapp/artisan queue:work --sleep=3 --tries=3 --daemon //命令路径
autostart=true //自动启动
autorestart=true //自动重启
numprocs=3 //进程数量
user=root //以root用户执行
redirect_stderr=true //重定向
stdout_logfile=/home/vagrant/kjapp/storage/logs/supervisor_kjappout.log //标准输出的日志路径
stdout_logfile_maxbytes = 10MB //日志文件最大值,否则循环写入
stderr_logfile=/home/vagrant/kjapp/storage/logs/supervisor_kjapperr.log //标准错误输出日志路径
stderr_logfile_maxbytes = 10MB //错误日志文件最大值,否则循环写入

配置完成,执行以下命令来启动该进程:

1
2
3
sudo supervisorctl reread
sudo supervisorctl update
sudo supervisorctl start minhow:*

supervisorctl 常用管理命令:

1
2
3
4
5
6
7
8
supervisorctl status: 查看当前运行的进程列表
supervisorctl stop xxx: 停止某一个进程(xxx),xxx为[program:theprogramname]里配置的值。
supervisorctl start xxx: 启动某个进程
supervisorctl restart xxx: 重启某个进程
supervisorctl stop groupworker: 重启所有属于名为groupworker这个分组的进程(start,restart同理)
supervisorctl stop all,停止全部进程,注:start、restart、stop都不会载入最新的配置文件。
supervisorctl reload,载入最新的配置文件,停止原有进程并按新的配置启动、管理所有进程。
supervisorctl update,根据最新的配置文件,启动新配置或有改动的进程,配置没有改动的进程不会受影响而重启。

注意:显示用stop停止掉的进程,用reload或者update都不会自动重启。

最后更新: 2017年12月29日 21:14

原始链接: http://blog.minhow.com/2016/10/20/laravel/use-supervisor/

× 请我吃糖~
打赏二维码