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

相关推荐
PHP小志几秒前
Windows 服务器怎么修改密码和用户名?账户被系统锁定如何解锁
windows
喵手10 分钟前
Python爬虫实战:京东/淘宝搜索多页爬虫实战 - 从反爬对抗到数据入库的完整工程化方案(附CSV导出 + SQLite持久化存储)!
爬虫·python·爬虫实战·零基础python爬虫教学·京东淘宝页面数据采集·反爬对抗到数据入库·采集结果csv导出
B站_计算机毕业设计之家26 分钟前
猫眼电影数据可视化与智能分析平台 | Python Flask框架 Echarts 推荐算法 爬虫 大数据 毕业设计源码
python·机器学习·信息可视化·flask·毕业设计·echarts·推荐算法
PPPPPaPeR.31 分钟前
光学算法实战:深度解析镜片厚度对前后表面折射/反射的影响(纯Python实现)
开发语言·python·数码相机·算法
JaydenAI34 分钟前
[拆解LangChain执行引擎] ManagedValue——一种特殊的只读虚拟通道
python·langchain
骇城迷影39 分钟前
Makemore 核心面试题大汇总
人工智能·pytorch·python·深度学习·线性回归
长安牧笛42 分钟前
反传统学习APP,摒弃固定课程顺序,根据用户做题正确性,学习速度,动态调整课程难度,比如某知识点学不会,自动推荐基础讲解和练习题,学习后再进阶,不搞一刀切。
python·编程语言
码界筑梦坊1 小时前
330-基于Python的社交媒体舆情监控系统
python·mysql·信息可视化·数据分析·django·毕业设计·echarts
森焱森1 小时前
详解 Spring Boot、Flask、Nginx、Redis、MySQL 的关系与协作
spring boot·redis·python·nginx·flask