• windows使用supervisor-win部署flask项目


    安装supervisor-win

    截止目前最新版本为4.7.0

    pip install supervisor-win

    配置文件

    保存名为supervisor-win.ini的配置文件,其中port=*:9001代表监控所有IP地址,由于windows没有办法使用uwsgi,所以这里配置了两个program[program:app-win1][program:app-win2](可以配置更多。。。),然后再使用nginx的负载均衡功能来提高并发量

    [supervisord]
    nodaemon=false
    environment=PYTHONIOENCODING=utf8,PYTHONUNBUFFERED=1
    
    [inet_http_server]
    port=*:9001
    
    [supervisorctl]
    
    [program:app-win1]
    command=D:\\workspace\\flask\\flask-server\\venv\\Scripts\\python.exe D:\\workspace\\flask\\flask-server\\src\\wsgi.py 5001
    autostart=true
    autorestart=true
    # 将stderr的日志写入stdout日志文件中
    redirect_stderr=true
    stdout_logfile=D:\workspace\flask\flask-server\logs\app1.log
    stdout_logfile_maxbytes=10MB
    stdout_logfile_backups=5
    # 杀死进程组包括子进程
    stopasgroup=true
    killasgroup=true
    
    [program:app-win2]
    command=D:\\workspace\\flask\\flask-server\\venv\\Scripts\\python.exe D:\\workspace\\flask\\flask-server\\src\\wsgi.py 5002
    autostart=true
    autorestart=true
    # 将stderr的日志写入stdout日志文件中
    redirect_stderr=true
    stdout_logfile=D:\workspace\flask\flask-server\logs\app2.log
    stdout_logfile_maxbytes=10MB
    stdout_logfile_backups=5
    # 杀死进程组包括子进程
    stopasgroup=true
    killasgroup=true
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34

    服务安装

    .\venv\Scripts\python.exe -m supervisor.services install -sn flask-server -c D:\workspace\flask\flask-server\conf\supervisor-win.ini

    在【服务】中设置找到flask-server,设置为自动启动,这样重启电脑就可以自动启动了
    在这里插入图片描述

    进程监控

    进入http://localhost:9001

    在这里插入图片描述

    负载均衡配置文件

    nginx和nginx-service安装教程

    nginx.conf

    upstream flaskapp {
        server localhost:5001 max_fails=2;
        server localhost:5002 max_fails=2;
        server localhost:5003 max_fails=2;
        server localhost:5004 max_fails=2;
    }
    
    server {
        listen       5000;
        server_name  localhost;
        
        location / {
            proxy_connect_timeout 2s;
            proxy_pass http://flaskapp/;
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
  • 相关阅读:
    田口实验法
    小程序开发时:getLocation:fail require permission desc
    k8s--基础--23.6--认证-授权-准入控制--通过kubeconfig登陆dashboard
    计算机网络期末复习-Part2
    超越Devin!姚班带队,他们创大模型编程新世界纪录
    Vue3.3 新特性 - 初体验
    C++基础篇之缺省参数和函数重载
    我的 Kafka 旅程 - SASL+ACL 认证授权 · 配置 · 创建账号 · 用户授权 · .NET接入
    抖音店铺列表接口h5
    elasticsearch,为什么prefix性能消耗很大
  • 原文地址:https://blog.csdn.net/this_is_id/article/details/132844982