如何通过宝塔面板部署Django或Flask项目_利用Python项目管理器创建并绑定域名

酷浩吖_8039

酷浩吖_8039

2026-04-05

918人浏览

原创

宝塔Python项目管理器不支持Django/Flask直接部署,需改用网站+反向代理+Supervisor手动配置:删Nginx监听端口、反向代理至127.0.0.1:8000/5000、用gunicorn/uvicorn启动并守护,同时正确处理静态文件与权限。

如何通过宝塔面板部署django或flask项目_利用python项目管理器创建并绑定域名

宝塔 Python 项目管理器不支持 Django/Flask 直接部署

宝塔面板的「Python 项目管理器」模块(v8.0+)底层调用的是 gunicorn + supervisor,但它对项目结构有强约束:必须是纯 WSGI 应用、入口文件需为 app.py 或 wsgi.py、且不识别 manage.py 或 flask run 启动逻辑。直接点击“一键部署” Django/Flask 项目大概率会卡在启动失败或 502 错误。

真正可行的方式是绕过项目管理器,改用「网站」+「反向代理」+「手动配置进程」三步组合:

  • 用「网站」功能创建站点并绑定域名(走 Nginx)
  • 在服务器上手动启动 Django/Flask(用 gunicorn 或 uvicorn)
  • 用宝塔「Supervisor 管理器」守护进程,而非 Python 项目管理器

绑定域名前必须关掉 Nginx 的默认端口监听冲突

Django 默认跑 runserver 在 8000,Flask 在 5000,但宝塔新建网站时会自动分配一个端口(如 8888),若你后续让 gunicorn 也监听 8888,Nginx 反向代理就会报 connect refused —— 因为端口被 Nginx 自己占了。

正确做法是:在「网站」→「设置」→「配置文件」里删掉这一行:

listen 8888;

只保留 listen 80;(或 listen 443 ssl;),然后在「反向代理」里新增一条,目标 URL 填 http://127.0.0.1:8000(Django)或 http://127.0.0.1:5000(Flask),这样流量才真正转发到你的应用进程。

  • 别在「网站」里填错「根目录」——Django/Flask 静态文件由 Nginx 直接服务,静态路径要设为项目内的 static/ 目录(如 /www/wwwroot/myproject/static)
  • SSL 证书必须在「网站」→「SSL」里申请并启用,反向代理不会自动透传 HTTPS
  • 如果用了 uvicorn,记得加 --proxy-headers --forwarded-allow-ips="*",否则 request.is_secure 永远为 False

Supervisor 管理器配置 gunicorn 启动命令的关键参数

宝塔自带的 Supervisor 管理器(需先安装插件)比 Python 项目管理器更可控。以 Django 为例,添加新进程时,「运行目录」填项目根路径(如 /www/wwwroot/myproject),「启动命令」不能写 python manage.py runserver(开发模式,不抗并发):

gunicorn myproject.wsgi:application --bind 127.0.0.1:8000 --workers 3 --timeout 30 --keep-alive 5 --log-level info

注意几个易错点:

  • myproject.wsgi 中的 myproject 是你的 Django 项目名(即含 __init__.py 和 wsgi.py 的那个目录),不是外层代码目录名
  • 务必用 --bind 127.0.0.1:8000,不要用 0.0.0.0:8000,否则可能被外网扫描到
  • Flask 项目则写成:gunicorn app:app --bind 127.0.0.1:5000(假设主文件叫 app.py,app 实例名为 app)
  • 如果提示 ModuleNotFoundError,大概率是没激活虚拟环境——在「运行目录」下补上 source /www/wwwroot/myproject/venv/bin/activate &&

静态文件 collectstatic 和权限问题最常导致白屏

Nginx 不会执行 Python,所以 django.contrib.staticfiles 的收集和权限必须人工完成。部署后访问 CSS/JS 404 或页面白屏,八成出在这里。

进宝塔终端,cd 到项目根目录,依次执行:

source venv/bin/activate<br>python manage.py collectstatic --noinput

然后确认 Nginx 配置里 static 路径指向正确,并检查文件权限:

  • chown -R www:www /www/wwwroot/myproject/static(宝塔 Nginx 运行用户是 www)
  • chmod -R 755 /www/wwwroot/myproject/static
  • 如果用了 whitenoise 或 CDN,这步可跳过,但要在 Django settings.py 中显式关闭 STATICFILES_STORAGE

Flask 没有内置 collectstatic,静态文件得自己放好,路径要和模板里写的 url_for('static', filename='...') 完全一致,且确保 Nginx 的 location /static 块已正确配置。

Python免费学习笔记(深入):立即使用
在学习笔记中,你将探索 Python 的核心概念和高级技巧!

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

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

下载

相关标签:

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

相关专题

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

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

2023.07.20

1811

4

python能做什么
python能做什么

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

2023.07.25

4824

7

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

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

2023.07.31

1769

3

python教程
python教程

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

2023.08.03

28817

23

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

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

2023.08.04

3447

5

python eval
python eval

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

2023.08.04

3467

5

scratch和python区别
scratch和python区别

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

2023.08.11

1223

5

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

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

2023.08.10

616

4

python是前端还是后端
python是前端还是后端

Python属于前端也属于后端,其灵活性和丰富的生态系统使得开发人员能够在不同的领域中灵活运用。本专题为大家提供python相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.11

2683

5

热门下载

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

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 134.1万人学习