美文网首页
Supervisor 部署

Supervisor 部署

作者: 奇奇又怪怪 | 来源:发表于2020-03-05 14:15 被阅读0次
    
    Supervisor 是 Linux/Unix 系统下的一个进程管理工具。可以很方便的监听、启动、停止和重启一个或多个进程。通过 Supervisor 管理的进程,当进程意外被 Kill 时,Supervisor 会自动将它重启,可以很方便地做到进程自动恢复的目的,而无需自己编写 shell 脚本来管理进程
    
    
    1. 安装 Supervisor
    
    # 安装 epel 源,如果此前安装过,此步骤跳过
    
    yum install -y epel-release
    
    yum install -y supervisor
    
    
    1. 创建一个配置文件
    
    cp /etc/supervisord.conf /etc/supervisord.d/supervisord.conf
    
    
    1. 编辑新复制出来的配置文件 /etc/supervisord.d/supervisord.conf,并在文件结尾处添加以下内容后保存文件
    
    # 新建一个应用并设置一个名称,这里设置为 hyperf
    
    [program:hyperf]
    
    # 设置命令在指定的目录内执行
    
    directory=/var/www/hyperf/
    
    # 这里为您要管理的项目的启动命令
    
    command=php ./bin/hyperf.php start
    
    # 以哪个用户来运行该进程
    
    user=root
    
    # supervisor 启动时自动该应用
    
    autostart=true
    
    # 进程退出后自动重启进程
    
    autorestart=true
    
    # 进程持续运行多久才认为是启动成功
    
    startsecs=1
    
    # 重试次数
    
    startretries=3
    
    # stderr 日志输出位置,标准错误日志
    
    stderr_logfile=/var/www/hyperf/runtime/stderr.log
    
    # stdout 日志输出位置,标准输出日志
    
    stdout_logfile=/var/www/hyperf/runtime/stdout.log
    
    
    1. 启动 Supervisor
    
    supervisord -c /etc/supervisord.d/supervisord.conf
    
    因为supervisor服务不能以daemon运行
    
    
    1. 使用 supervisorctl 管理项目
    
    # 启动 hyperf 应用
    
    supervisorctl start hyperf
    
    # 重启 hyperf 应用
    
    supervisorctl restart hyperf
    
    # 停止 hyperf 应用
    
    supervisorctl stop hyperf 
    
    # 查看所有被管理项目运行状态
    
    supervisorctl status
    
    # 重新加载配置文件
    
    supervisorctl update
    
    # 重新启动所有程序
    
    supervisorctl reload
    
    
    1. 当用supervisor监护进程时,被监护进程不能是守护进程,这是由于守护进程通常会在fork完子进程后就让父进程”结束生命”,也即由supervisor创建的父进程退出,此时,supervisor无法再监护已退出进程创建出来的子进程

    相关文章

      网友评论

          本文标题:Supervisor 部署

          本文链接:https://www.haomeiwen.com/subject/ifvxrhtx.html