- 安装`sudo apt-get install supervisor``
- `echo_supervisord_conf 查看默认配置项
- 配置说明
一份配置文件至少需要一个 [program:x] 部分的配置,来告诉 supervisord 需要管理那个进程。
[program:x]语法中的 x 表示 program name,会在客户端(supervisorctl或 web 界面)显示,在 supervisorctl 中通过这个值来对程序进行start、restart、stop等操作。
#程序名称,在 supervisorctl 中通过这个值来对程序进行一系列的操作
[program:laravel-worker]
process_name=%(program_name)s_%(process_num)02d
#启动程序的命令,项目文件地址
command=php /home/forge/app.com/artisan queue:work
#启动程序的命令;
autostart=true
#在supervisord启动的时候也自动启动;
autorestart=true
#开启进程使用哪个用户和组启动(这里forge启动时指定了nobody用户所以就不用再指定了);
user=forge
#对同一配置开启3个线程。
numprocs=3
#把 stderr 重定向到 stdout,默认 false
redirect_stderr=true
#标准日志输出;
stdout_logfile=/home/forge/app.com/worker.log
#错误日志输出;
stderr_logfile=/home/forge/app.com/err.log
#标准日志文件大小,默认50MB;
stdout_logfile_maxbytes = 20MB
#标准日志文件备份数;
stdout_logfile_backups = 20
- 常用命令
- service supervisor start /etc/init.d/supervisor start 启动
- ps -ef| grep supervisor 查看启动状态
- supervisorctl status 查看进程启动状态
- supervisorctl stop|start|restart tomcat
- 或者进入客户端 supervisorctl
- 参考文献:
[Docs]: http://supervisord.org/index.html