zoukankan      html  css  js  c++  java
  • supervisor 管理项目

    最开始使用 nohup + gunicorn 来管理项目的,现在想试下 supervisor

    官方文档

      http://supervisord.org/
    

    1. 在你的系统里安装

      apt install supervisor
    

    这个时候会在你的系统中配置文件:
    /etc/supervisor/supervisord.conf # 主配置
    /etc/supervisor/conf.d # 子进程配置

    2. 在你的python环境中安装

      pip install supervisor
    

    3. 常用命令

    supervisorctl status        //查看所有进程的状态
    supervisorctl stop es       //停止es
    supervisorctl start es      //启动es
    supervisorctl restart       //重启es
    supervisorctl update        //配置文件修改后使用该命令加载新的配置
    supervisorctl reload        //重新启动配置中的所有程序
    

    注意: 我第一步执行supervisorctl status, 报错

    pkg_resources.DistributionNotFound: The 'supervisor==3.3.1' distribution was not found and is required by the application
    

    然后我修改, /user/bin/supervisorctl 和 /user/bin/supervisorctl 中对supervisor的版本引用,修改成和python一样版本的。

    4. 配置子进程

    在/etc/supervisor/conf.d 中创建 test.conf
    内容

    [program:app]  # 进程名字为 app
    command=bash /var/lib/jenkins/workspace/ceshi/run.sh  # 项目启动命令
    directory=/var/lib/jenkins/workspace/ceshi  # 工作空间
    autostart=true  # supervisor启动的时候是否随着同时启动,默认True
    autorestart=true # 程序是否自动启动, 
    redirect_stderr=true # #把stderr重定向到stdout
    stderr_logfile=/var/log/blog_stderr.log 
    stdout_logfile=/var/log/blog_stdout.log # 错误日志
    

    5.启动

    • 重启 supervisor , supervisorctl reload
    • 启动进程, supervisorctl start app
    • 查看状态, supervisorctl status

    参考: https://www.jianshu.com/p/0b9054b33db3

  • 相关阅读:
    六、Linux计划任务及压缩归档
    四、用户管理
    三、vim编辑器详解
    八、RAID磁盘阵列及CentOS7系统启动流程
    五、权限管理
    二、Linux常用命令
    七、Linux磁盘管理及LVM讲解
    一、Linux常用命令
    JS继承的实现方式 原型 原型链 prototype和_proto_的区别
    js引用类型(Object、Array)
  • 原文地址:https://www.cnblogs.com/ShanCe/p/15095268.html
Copyright © 2011-2022 走看看