ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
[TOC] ## 安装 ~~~ # 安装 epel 源,如果此前安装过,此步骤跳过 yum install -y epel-release yum install -y supervisor systemctl enable supervisord # 开机自启动 systemctl start supervisord # 启动supervisord服务 # systemctl status supervisord # 查看supervisord服务状态 ~~~ ## supervisord > 运行`supervisor`时会启动一个进程`supervisord`,它负责启动所管理的进程,并将所管理的进程作为自己的子进程来启动,而且可以在所管理的进程出现崩溃时自动重启 ~~~ systemctl restart supervisord ~~~ ## supervisorctl (命令管理工具) > 可以用来执行`start`、`stop`、`restart`等命令,来对这些子进程进行管理 ``` # 启动 hyperf 应用 supervisorctl start hyperf # 重启 hyperf 应用 supervisorctl restart hyperf # 停止 hyperf 应用 supervisorctl stop hyperf # 查看所有被管理项目运行状态 supervisorctl status # 重新加载配置文件 supervisorctl update # 重新启动所有程序 supervisorctl reload ``` ## 配置hf进程管理 > 创建/etc/supervisord.d/hyperf.ini > 原supervisor配置路径:/etc/supervisord.conf (里面含有files = supervisord.d/*.ini) > 配置后,通过supervisorctl start hyperf 进行启动该进程 ~~~ [program:hyperf] # 设置命令在指定的目录内执行 directory=/servers/app/myproject/ # 这里为您要管理的项目的启动命令 command=/servers/php/bin/php ./bin/hyperf.php start # 以哪个用户来运行该进程 user=root # supervisor 启动时自动该应用 autostart=true # 进程退出后自动重启进程 autorestart=true # 进程持续运行多久才认为是启动成功 startsecs=1 # 重试次数 startretries=3 # stderr 日志输出位置 stderr_logfile=/servers/app/myproject/runtime/stderr.log # stdout 日志输出位置 stdout_logfile=/servers/app/myproject/runtime/stdout.log ~~~