Flask项目怎么在宝塔面板快速部署

阿婷同学_8468

阿婷同学_8468

2026-09-19

762人浏览

原创

宝塔面板无法直接通过python项目管理器部署flask项目,因其强制依赖wsgi.py和application变量,而标准flask使用app.py和app实例;必须绕过该模块,采用“网站+反向代理+gunicorn/uvicorn+supervisor”手动配置:删nginx冲突端口、反代至127.0.0.1:5000、用绝对路径配置supervisor启动命令(如gunicorn app:app)、nginx接管静态文件并正确设置ssl与proxy_pass规则。

flask项目怎么在宝塔面板快速部署

Flask 项目在宝塔面板上“快速部署”不等于点几下就完事——官方所谓“Python项目管理器”对 Flask 的支持是残缺的,直接填 app.py + 端口,大概率启动失败或返回 502。真正能跑通的路径只有一条:**绕过 Python 项目管理器,用网站 + 反向代理 + gunicorn(或 uvicorn)手动搭链路**。

为什么不能直接用“Python项目管理器”部署 Flask

宝塔 v8.0+ 的 Python 项目管理器底层硬编码依赖 wsgi.py 入口、强制识别 application 变量,而标准 Flask 项目通常只有 app.py,里面定义的是 app = Flask(...)。它不会自动帮你做 from app import app 这类导入,也不会处理 if __name__ == '__main__': app.run(...) 这种开发模式启动逻辑。你点“启动”,它其实是在执行一个根本不存在的 WSGI 调用,日志里往往只显示 “No module named 'wsgi'”,连错在哪都看不出。

必须手动配 gunicorn 启动命令(关键参数不能错)

进宝塔「Supervisor 管理器」(需先安装插件),新增进程时注意以下几点:

Flask 3.0.2
Flask 3.0.2

Flask 3.0.2 是 Flask 的官方历史稳定版本,下载地址使用 PyPI wheel 包直链,适合指定版本安装和项目环境复现。

下载
  • 运行目录 填项目根路径,比如 /www/wwwroot/myflask,不是子目录
  • 启动命令 别写 python app.py,要写:
    gunicorn -w 2 -b 127.0.0.1:5000 --chdir /www/wwwroot/myflask app:app
  • 其中 app:app 表示:文件名 app.py,变量名 app;如果你的入口文件叫 main.py 且实例叫 application,就得写 main:application
  • 确保 gunicorn 安装在站点对应的 Python 环境里:用宝塔终端进 /www/server/python/bin/python -m pip install gunicorn,别用系统默认 pip

Nginx 反向代理配置的三个硬性条件

在「网站」→「反向代理」里添加一条,目标 URL 填 http://127.0.0.1:5000(和 gunicorn 绑定端口一致),同时必须满足:

  • 删掉 Nginx 配置文件里自动生成的 listen 8888; 这类行——否则端口冲突,反代直接 connect refused
  • proxy_pass 后面不能加斜杠:http://127.0.0.1:5000 ✅,http://127.0.0.1:5000/ ❌(后者会导致 Flask 的 url_for 生成路径多一层 /)
  • SSL 必须在「网站」→「SSL」里申请并启用;反向代理不会透传 HTTPS,request.scheme 会是 http,除非你在 uvicorn 启动时加 --proxy-headers --forwarded-allow-ips="*"

静态文件 404?Django 有 collectstatic,Flask 得自己管

Flask 默认不提供生产级静态服务,Nginx 必须接管。常见错误是把前端打包后的 dist 目录直接扔进 Flask 项目里,然后指望 send_from_directory 抗压——线上环境立刻崩。

  • 正确做法:把 Vue/React 打包后的 dist 目录上传到独立路径,比如 /www/wwwroot/myflask-frontend
  • 在 Nginx 配置中加 location 块:
    location / { alias /www/wwwroot/myflask-frontend/; }(结尾有 /
  • 后端 API 路径统一走 /api/...,前端用 axios 请求时 baseURL 设为 /api,由 Nginx 把 /api 反代到 Flask 进程
最易被忽略的一点:所有路径——gunicorn--chdir、Nginx 的 alias、Supervisor 的运行目录、甚至 requirements.txt 里相对路径的依赖——必须全部基于绝对路径,且严格匹配宝塔文件系统的实际位置。少一个字符,就卡在 import error 或 404。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
flask框架如何搭建
flask框架如何搭建

搭建步骤:1、安装Python和Pip;2、创建虚拟环境;3、安装Flask;4、创建Flask应用;5、运行应用;6、访问应用。想了解更多flask框架的相关内容,可以阅读本专题下面的文章。

2024.06.27

2795

8

Python Flask框架
Python Flask框架

本专题专注于 Python 轻量级 Web 框架 Flask 的学习与实战,内容涵盖路由与视图、模板渲染、表单处理、数据库集成、用户认证以及RESTful API 开发。通过博客系统、任务管理工具与微服务接口等项目实战,帮助学员掌握 Flask 在快速构建小型到中型 Web 应用中的核心技能。

2025.08.25

4124

10

Python Flask Web框架与API开发
Python Flask Web框架与API开发

本专题系统介绍 Python Flask Web框架的基础与进阶应用,包括Flask路由、请求与响应、模板渲染、表单处理、安全性加固、数据库集成(SQLAlchemy)、以及使用Flask构建 RESTful API 服务。通过多个实战项目,帮助学习者掌握使用 Flask 开发高效、可扩展的 Web 应用与 API。

2025.12.15

256

16

pycharm怎么改成中文
pycharm怎么改成中文

PyCharm是一种Python IDE(Integrated Development Environment,集成开发环境),带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试、语法高亮、项目管理、代码跳转、智能提示、自动完成、单元测试、版本控制。此外,该IDE提供了一些高级功能,以用于支持Django框架下的专业Web开发。php中文网给大家带来了pycharm相关的教程以及文章,欢迎大家前来学习和阅读。

2023.07.25

2229

3

pycharm安装教程
pycharm安装教程

PyCharm是一款由JetBrains开发的Python集成开发环境(IDE),它提供了许多方便的功能和工具。本专题为大家带来pycharm安装教程,帮助大家解决问题。

2023.08.21

4117

4

如何解决pycharm找不到模块
如何解决pycharm找不到模块

解决pycharm找不到模块的方法:1、检查python解释器;2、安装缺失的模块;3、检查项目结构;4、检查系统路径;5、使用虚拟环境;6、重启PyCharm或电脑。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.12.04

718

5

如何安装pycharm
如何安装pycharm

安装pycharm的步骤:1、访问PyCharm官方网站下载最新版本的PyCharm;2、下载完成后,打开安装文件;3、安装完成后,打开PyCharm;4、在PyCharm的主界面中等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.02.23

654

5

python和pycharm的区别
python和pycharm的区别

Python和PyCharm是两个不同的概念,它们的区别如下:1、Python是一种编程语言,而PyCharm是一款Python集成开发环境;2、Python可以运行在各种不同的开发环境中,而PyCharm是专门为Python开发而设计的IDE等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.02.23

467

5

pycharm环境如何配置
pycharm环境如何配置

配置教程:1、下载并安装PyCharm;2、选择Python解释器;3、配置虚拟环境;4、配置代码风格;5、配置调试器;6、配置版本控制工具;7、配置插件;8、配置Python路径和环境变量;9、配置其他选项。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.02.23

482

5

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Flask-Migrate数据库迁移文档
Flask-Migrate数据库迁移文档

共0课时 | 0人学习

Flask官方快速入门文档
Flask官方快速入门文档

共0课时 | 0人学习