讲师中心 微信公众号
AI工具推荐 视频效率加速

Python下Flask项目怎么用Nginx加uWSGI做生产环境高可用部署

浅宇吖_3772

浅宇吖_3772

发布时间:2026-10-12 13:28:37

|

339人浏览过

|

来源于php中文网

原创

Flask项目绝不能用flask run上生产,必须采用uWSGI+Nginx组合部署;前者单进程、无超时、不支持请求队列,高并发下极易崩溃,后者通过进程管理、内存监控、异步支持与反向代理、超时控制、连接复用协同保障稳定高性能。

python下flask项目怎么用nginx加uwsgi做生产环境高可用部署

Flask 项目绝不能用 flask run 上生产 —— 它单进程、无超时、不排队,三五个并发就卡死或崩溃。真正可用的部署必须是 uWSGI + Nginx 组合,且二者配置不是填参数就行,得按业务类型(CPU/I/O/内存敏感)和机器资源动态调优。

为什么必须禁用 flask run,改用 uWSGI

flask run 是纯开发服务器,没进程管理、没内存监控、不支持异步、无法优雅重启。线上一出错整个进程就挂,连日志都来不及刷。而 uWSGI 是容器级应用服务器,能干这些事:

  • --processes 和 --threads 可拆分 CPU 密集型负载(比如图像处理),避免 GIL 拖累
  • --plugin=gevent + --gevent 100 能直接跑 I/O 密集型服务(如调外部 API、慢 SQL),不用改代码
  • --reload-on-rss 512 对加载大模型或长驻缓存的服务至关重要,RSS 超 512MB 自动 reload,防 OOM 僵死
  • 漏配 --reload-on-rss 是常见坑:日志里反复出现 worker N killed due to memory usage,但进程不重启,请求持续失败

uWSGI 配置里最易错的 4 个参数

写 .ini 文件时,以下几项不设对,轻则 502,重则服务不可达:

  • socket = /tmp/myapp.sock:必须用 Unix socket(而非 127.0.0.1:8001),Nginx 访问更快更安全;同时配 chmod-socket = 660 和 chown-socket = www-data:www-data
  • callable = app:必须显式声明 Flask 实例变量名;如果代码里写的是 application = Flask(...) 却没写这行,uWSGI 启动就报 ImportError: no module named 'app'
  • master = true + vacuum = true:缺一不可。前者启用主控进程,后者确保退出时自动清理 socket 文件,否则下次启动报 Address already in use
  • die-on-term = true:让 systemd 或 supervisor 发 SIGTERM 时能干净退出,不然 kill 不掉残留 worker

Nginx 反向代理必须加的 3 条保命配置

Nginx 在这里不是“转发器”,而是第一道缓冲和熔断阀。默认配置下它会把客户端 Connection: close 直接透传给 uWSGI,导致连接无法复用;更危险的是不设超时,uWSGI 还在跑慢请求,Nginx 先返回 504 Gateway Timeout。

python 查询技能
python 查询技能

查询客流数据,输出JSON格式,可直接导入Bitable等可视化工具

下载

立即学习“Python免费学习笔记(深入)”;

  • proxy_read_timeout 300:必须 ≥ uWSGI 的 harakiri 值(比如你设了 harakiri = 240,这里就得 ≥ 240),否则 Nginx 先断
  • proxy_buffering off:对流式响应(如 SSE、大文件下载)必须关缓冲,否则卡住不吐数据
  • upstream 块里加 keepalive 32:复用到 uWSGI 的连接,否则每个请求新建 TCP,短连接压测时直接打满 TIME_WAIT

启动后 502 错误最可能的 3 个原因

看到 502 Bad Gateway 别急着改 Nginx,先查这三项:

  • uWSGI 进程根本没起来:运行 ps aux | grep uwsgi,空则说明配置语法错或权限不足(比如 socket 路径父目录不可写)
  • socket 文件权限不对:ls -l /tmp/myapp.sock 看属组是否为 www-data,不是就 chown www-data:www-data /tmp/myapp.sock
  • Nginx 没读到 upstream:检查 nginx.conf 是否 include /etc/nginx/conf.d/*.conf,且你的 server 块里 uwsgi_pass 指向的地址和 uWSGI 的 socket 完全一致(路径 or IP:port)

复杂点不在组件多,而在参数之间有强依赖:比如 harakiri 和 proxy_read_timeout 必须梯度匹配,reload-on-rss 和机器总内存要留余量。一个参数调错,整条链路就卡在你看不见的地方。

热门AI工具

更多
VibeKnow
VibeKnow Hot

一款AI视频创作工具,主要用于全球首个AI知识视频创作平台,文档、文章、网页,一键生成视频,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

Loomy
Loomy Hot

一款AI工具,主要用于科大讯飞发布的桌面级 AI 助理,比 OpenClaw 更易用、更安全!,适合需要提升相关任务效率的用户。

UP简历
UP简历 Hot

一款AI办公效率工具,主要用于基于AI技术的免费在线简历制作工具,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

咔片AIPPT

一款在线AI演示文稿制作工具,可根据主题和内容需求辅助生成PPT结构与页面,提高演示材料制作效率。

讯飞智作

讯飞智作是一款AI视频创作工具,AI文本配音工具,数字人课程、营销视频制作。

音述AI
音述AI Hot

一款AI音频处理工具,主要用于音述AI是一个以“用声音述说故事”为核心的 AI 音乐创作与声音分享社区,适合需要提升相关任务效率的用户。

相关专题

更多
python打包成可执行文件
python打包成可执行文件

本专题为大家带来python打包成可执行文件相关的文章,大家可以免费的下载体验。

1711

2023.07.20

python能做什么
python能做什么

python能做的有:可用于开发基于控制台的应用程序、多媒体部分开发、用于开发基于Web的应用程序、使用python处理数据、系统编程等等。本专题为大家提供python相关的各种文章、以及下载和课程。

4324

2023.07.25

format在python中的用法
format在python中的用法

Python中的format是一种字符串格式化方法,用于将变量或值插入到字符串中的占位符位置。通过format方法,我们可以动态地构建字符串,使其包含不同值。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

1689

2023.07.31

python教程
python教程

Python已成为一门网红语言,即使是在非编程开发者当中,也掀起了一股学习的热潮。本专题为大家带来python教程的相关文章,大家可以免费体验学习。

25277

2023.08.03

python环境变量的配置
python环境变量的配置

Python是一种流行的编程语言,被广泛用于软件开发、数据分析和科学计算等领域。在安装Python之后,我们需要配置环境变量,以便在任何位置都能够访问Python的可执行文件。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

3087

2023.08.04

python eval
python eval

eval函数是Python中一个非常强大的函数,它可以将字符串作为Python代码进行执行,实现动态编程的效果。然而,由于其潜在的安全风险和性能问题,需要谨慎使用。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

3107

2023.08.04

scratch和python区别
scratch和python区别

scratch和python的区别:1、scratch是一种专为初学者设计的图形化编程语言,python是一种文本编程语言;2、scratch使用的是基于积木的编程语法,python采用更加传统的文本编程语法等等。本专题为大家提供scratch和python相关的文章、下载、课程内容,供大家免费下载体验。

1163

2023.08.11

python合并两个列表
python合并两个列表

Python是一种强大的编程语言,具有许多方便的功能和工具。在Python中,有多种方法可以合并两个列表。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

596

2023.08.10

PixTV官网入口地址合集
PixTV官网入口地址合集

本专题汇总了 PixTV AI 一站式视频创作平台的官方入口与使用教程。无需下载软件,浏览器直接访问即可使用。平台将剧本、图像、视频、声音与剪辑整合在“无限画布”中,接入 GPT Image 2.5、Seedance 2.5 等头部模型。本专题整理了从新建画布、角色锚定、分镜拆分到视频生成与导出的完整操作指南,助你快速上手 AI 短剧与漫剧创作。

40

2026.10.10

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn