supervisor简单使用

  1. 创建flask简单应用(目录/home/shylin/demo下)

    from flask import Flask
    app = Flask(__name__)
    
    @app.route('/')
    def index():
       return 'hello world'
    
    
    if __name__ == '__main__':
       app.debug = True
       app.run()
    
  2. 创建虚拟环境 virtualenv venv (目录/home/shylin/demo下)

  3. 进入虚拟环境 source venv/bin/activate 安装gunicorn pip install gunicorn

  4. 配置Gunicorn ,新建gunicorn.conf 的配置文件和一个logs文件夹 (目录/home/shylin/demo下)

    
    # gunicorn.conf 的配置
    
    
    # 进程为3
    
    workers = 3 
    
    # 绑定本地8000端口
    
    bind = '127.0.0.1:8000'
  5. 下面步骤使用root操作,使用sudo apt-get install supervisor安装Supervisor (使用pip方式安装配置文件不会自动生成,项目中推荐使用pip进行安装)

  6. 配置Supervisor,转到Supervisor的配置文件目录:cd /etc/supervisor/conf.d/ 新建demo.conf配置文件

    demo.conf配置
    
    # 进程的名字
    
    [program:demo] 
    
    # gunicorn的安装路径   run是文件的应用名  gunicorn的配置文件
    
    command=/home/shylin/demo/venv/bin/gunicorn run:app -c /home/shylin/demo/gunicorn.conf
    directory=/home/shylin/demo   # # 项目的路径(run.py的上一级)
    numprocs=1
    user=root   # 启动进程的用户
    startretries=3   # 重试次数
    autostart=true
    autorestart=true  # 自动重启
    loglevel=info   # 日志等级
    stdout_logfile_maxbytes=10MB   # 每个日志文件大小
    stdout_logfile_backups=10    # 备份数
    stdout_logfile=/home/shylin/demo/logs/demo_supervisor.log  # 日志存放位置
  7. supeivisor相关命令(注意绝对路径

supervisord -c /usr/local/cloud/supervisor_conf/supervisord.conf  # 启动命令(带上绝对路径)

------------------------------------------------
supervisorctl -c /usr/local/cloud/supervisor_conf/supervisord.conf # 进入supervisor终端(要先输入启动命令)
status    # 查看进程状态
start/stop [program_name] # 开启/停止某个进程
start/stop all  # 开启/停止全部进程
shutdown   # 关闭所有进程
reread后再update  # 重载配置文件

------------------------------------------------------------------------------
kill -s 9 `ps -aux | grep python | awk '{print $2}'`  # 杀死python进程(慎用)
ps -ef | grep python | wc -l  # 查看python进程个数

"使用supervisord和supervisorctl命令时要使用绝对路径 -c /xxxx"

Shylin

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值