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的负载均衡功能来提高并发量

ini 复制代码
[supervisord]
nodaemon=false

[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

服务安装

.\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

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 /;
    }
}

BUG记录

配置文件中即使使用了redirect_stderr=true也无法将错误日志重定向到标准输出日志中,github也有相应的issue(Subprocess log file setting issue)提出

相关推荐
不一样的故事12613 小时前
Prompt 工程(Prompt Engineering)
前端·人工智能·python
我命由我1234513 小时前
6-2.Python 异常处理 - 异常捕获(捕获指定异常、常见异常类型、异常信息)
java·运维·开发语言·python·http·https·java-ee
zh路西法13 小时前
【模型式强化学习】(三):MBPO——短轨迹生成与模型数据驱动的策略优化
python·强化学习·pe·sac·pets·mbpo·mbrl
Angeldream12313 小时前
第 9 章 医学影像项目实战
大数据·图像处理·人工智能·python·医学影像处理
ZhengEnCi13 小时前
一亿条数据取前100条完全指南:从全量排序到分块流式最小堆的4种解法实测
python·算法·排序算法
2601_9679791213 小时前
AccessControl 5.4 macOS Python 3.9 版本安装包
python·macos·security·accesscontrol·permissions
染指111013 小时前
157.Agent-LangGraph-工具(实现ReAct Agent模式)
开发语言·人工智能·python·langchain·agents
程序猿乐锅14 小时前
【从0-1学习Python | 第九篇】继承
开发语言·后端·python·学习·fastapi
青少儿编程课堂14 小时前
蓝桥杯·全国青少年信息素养大赛·电子学会Python/C++考级:位运算实战——二进制权限与最大异或解析
c++·python·算法·bfs·信息学竞赛
在世修行14 小时前
智学文枢:理科分析引擎
python·ai·pyside·理科教学