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)提出

相关推荐
weixin_462901972 分钟前
ESP32电压显示
开发语言·javascript·css·python
阿贵---3 分钟前
使用Python进行PDF文件的处理与操作
jvm·数据库·python
winfredzhang3 分钟前
FolderMover Pro用 Python + wxPython 构建安全高速的文件移动工具
python·wxpython·多线程·md5校验·容量筛选·失败回滚·实时进度
551只玄猫4 分钟前
【基于python的金融分析和风险管理 学习笔记】中阶篇 第6章 分析利率和汇率
笔记·python·学习·金融·学习笔记·汇率·利率
小邓睡不饱耶30 分钟前
东方财富网股票数据爬取实战:从接口分析到数据存储
开发语言·爬虫·python·网络爬虫
2401_8916558130 分钟前
GitHub镜像站搭建全攻略技术文章大纲
python·github
cm65432033 分钟前
使用XGBoost赢得Kaggle比赛
jvm·数据库·python
无巧不成书021834 分钟前
FFmpeg 保姆级安装教程!Windows/macOS/Linux全平台覆盖,
windows·macos·ffmpeg
yzx99101334 分钟前
WorkBuddy 使用指南:解锁几大核心功能,提升工作效率
人工智能·python
蛐蛐蛐34 分钟前
在昇腾310P推理服务器上安装CANN和PyTorch
人工智能·pytorch·python·npu