ubuntu 安装supervisord
ubuntu 系统安装命令如下
sudo apt update && sudo apt install supervisor
Supervisor服务在安装后自动运行(这点从安装后创建的symlink到systemd的自启动服务可以看出)。检查其状态:
sudo systemctl status supervisor
如下安装supervisord 成功,supervisord 可以正常使用的,接下来我们配制守护进程做我们的业务操作
我们看到这个目录下/etc/supervisor 有一个conf.d文件 夹,这个文件夹可以存放 我们的业务文件,可以多个,每个对应 一个进程
我们也可以通过如下命令创建一个kangshijian.conf文件 作为我们的业务进程
sudo touch /etc/supervisor/conf.d/kangshijian.conf
如下创建完成后,我们可以编辑这个文件内容
vi /etc/supervisor/conf.d/kangshijian.conf
输入如下文件内容
#进程名,crmeb是可以自定义名
[program:crmeb]
#启动命令
command=php think queue:listen --queue
#执行脚本目录,也就是项目根目录执行php think queue:listen --queue这条命令,具体位置根据你们的项目决定,php语言Tp6框架就是在项目根目录,我这里选择项目根目录位置
directory=/var/www/kangshijian/
#守护进程启动时是否同时启动
autorestart=true
#启动多少秒后状态判定
startsecs=3
#启动失败尝试次数
startretries=3
[supervisord]
#日志输出,在指定目录下生成日志文件
stdout_logfile=/var/log/supervisor/log/crmeb.out.log
stderr_logfile=/var/log/supervisor/log/crmeb.err.log
#日志文件大小
stdout_logfile_maxbytes=2MB
stderr_logfile_maxbytes=2MB
# 启动用户,默认系统登录账号,我这里填写系统账号
user=root
# 进程优先级值越小优先级越大,取值范围:999-1
priority=999
# 同时启动多少个进程
numprocs=1
# 进程名
process_name=%(program_name)s_%(process_num)02d
[supervisorctl]
[include]
files = relative/directory/*.ini ;可以指定一个或多个以.ini结束的配置文件
保存完成后,使用supervisor进程管理命令之前先启动supervisord,否则程序报错,ubuntu 我们使用如下命令启动
supervisord -c /etc/supervisor/conf.d/kangshijian.conf
若是centos7
systemctl start supervisord.service //启动supervisor并加载默认配置文件
systemctl enable supervisord.service //将supervisor加入开机启动项
通过 supervisorctl 命令通知 Supervisor 我们的新程序。首先,我们告诉 Supervisor 在/etc/supervisor/conf.d
目录中查找任何新的或已更改的程序配置:
sudo supervisorctl reread
然后告诉它通过以下方式进行任何更改
sudo supervisorctl update
要进入交互模式,请运行不带参数的 supervisorctl:
sudo supervisorctl
最后可以ctrl +c退出
也可以参考Ubuntu上安装和配置Supervisor_小金乌会发光的博客-CSDN博客_ubuntu supervisor