zoukankan      html  css  js  c++  java
  • supervisor的使用

    环境:

    centOS7.5 
    
    python3与python2共存

    使用这种方式配置supervisor,可以为每1个flask项目建立 1个配置文件,使用1个supervisorctl统一管理,各种项目之间的配置文件又互不干扰。

    通过在jenkins使用shell命令即可完成项目的自动布署

    参照:Centos7 中使用Supervisor守护进程

     

    下面这种方式,只能在flask项目中通过supervisord -c xx.conf文件这种方式启动gunicorn,每次布署项目之后,都 需要手动重启,很不方便。

    目标:

    让supervisor管理gunicorn,可以在gunicorn发生意外的情况下,会自动的重启。
    1.supervisor的安装:
    在系统级别的python环境下pip install supervisor。(这里如果你用的是python3写的项目,也可以直接用pip安装启动supervisor,也就是python2,supervisor安装在3或者2,对你的项目没有任何影响)
    2.在项目的根目录下创建一个文件叫做program_name_supervisor.conf,目录结构如下:

     

    配置文件内容如下:

    注意:

    1.注意supervisord配置文件行头不要有空格

    2.gunicorn的命令要在虚拟环境下运行(因为gunicorn安装在flaskApi这个虚拟环境中)

    # supervisor的程序名字
    [program:gotest] #program_name 该名称可以随意设置
    # supervisor执行的命令
    command=/root/.virtualenvs/flaskApi/bin/gunicorn -w 4 -b 127.0.0.1:8000 wsgi:application
    # 项目的目录
    directory = /home/wangju/gitProject/flaskDemo
    # 开始的时候等待多少秒
    startsecs=0
    # 停止的时候等待多少秒
    stopwaitsecs=0  
    # 自动开始
    autostart=true
    # 程序挂了后自动重启
    autorestart=true
    # 输出的log文件
    stdout_logfile=programdir/log/supervisord.log  #这里你可能需要先创建log路径
    # 输出的错误文件
    stderr_logfile=programdir/log/supervisord.err#同上
    
    [supervisord]
    # log的级别
    loglevel=info
    
    # 使用supervisorctl的配置
    [supervisorctl]
    # 使用supervisorctl登录的地址和端口号
    serverurl = http://127.0.0.1:9001
    
    # 登录supervisorctl的用户名和密码
    username = admin
    password = admin123456
    
    [inet_http_server]
    # supervisor的服务器
    port = :9001
    # 用户名和密码
    username = admin
    password = admin123456
    
    [rpcinterface:supervisor]
    supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface

     安装:

    yum install -y epel-release

    yum install -y supervisor

    验证安装成功:

    #测试是否安装成功
    echo_supervisord_conf
    #创建配置文件
    echo_supervisord_conf > /etc/supervisord.conf

    通过supervisor启动gunicorn

    (flaskApi) [root@67 flaskDemo]# supervisord -c gotest_supervisor.conf

    确定supervisord 服务并设置为随机启动:

     systemctl start supervisord.service && systemctl enable supervisord.service

     

    浏览器输入url确认一下,gunicron已经把flask启动起来了,可以正常请求并返回内容

     

     

    参考文档:

    https://www.jianshu.com/p/d2da31b95a55

    https://www.cnblogs.com/Dicky-Zhang/p/6171954.html

  • 相关阅读:
    Queueing at Bank【PAT 1017题】
    table标签的布局
    股票投资的24堂必修课1
    股票投资的24堂必修课2基本面分析
    Eclipse最全快捷键 分享便捷与快乐
    浅析将matlab函数编译成dll供Cpp调用的方法
    Python编程语言中调用Matlab绘制保存数据的方案
    Eclipse中10个最有用的快捷键组合
    WPF 4 DataGrid 控件(进阶篇二)
    VBS 操作 IIS
  • 原文地址:https://www.cnblogs.com/kaerxifa/p/11577405.html
Copyright © 2011-2022 走看看