当前位置:论坛首页 > Linux面板 > Linux面板教程

Python项目--Flask/Django框架项目部署

发表在 Linux面板2023-12-28 18:13 [复制链接] 19 29828

Django项目
  • 示例开源项目:DjangoBlog
  • 项目地址:https://gitee.com/lylinux/DjangoBlog
  • 使用的Python环境:Python3.8.5使用过Python版本3.10、3.9版本是不支持这个项目的,如是测试建议使用3.8.5的Python版本。

1. 部署过程:
1.1 使用shell工具连接服务器/面板终端连接,执行命令行拉取项目资源:
  1. cd /www/wwwroot/ && git clone https://gitee.com/lylinux/DjangoBlog.git
复制代码
5.png.PNG

1.2 进入网站---Python项目内创建
6.png

1.3 等待Python项目环境创建
7.PNG

1.4 通过文件管理,进入到项目目录下。编辑Django/djangoblog目录下的setting.py文件,在编辑器内搜索database,修改成您自己的数据库连接方式,例如下方截图:
20.png

PS:使用的是MySQL连接方式,如是其他数据库连接方式需要修改连接引擎代码,请结合自己项目使用的数据库。

2. 生成数据
1.1 可以通过终端处理进入执行,也可以通过Xshell、Putty工具连接服务器操作
面板终端进入:
21.png

1.2 生成数据命令:
  1. /www/server/pyporject_evn/DjangoBlog_venv/bin/python3 manage.py makemigrations
  2. /www/server/pyporject_evn/DjangoBlog_venv/bin/python3 manage.py migrate
复制代码
23.png

PS:DjangoBlog_venv路径是自己的为主,通常是以项目名称命名的。

1.3 执行完上面的数据迁移后,再到Python项目内重启当前项目;在访问项目地址即可:
24.png 25.png

Flask项目:

  • 部署环境:
  • 项目名称:测试项目
  • 使用的Python版本:3.9.10

1. 部署过程
1.1 根据自己的项目启动文件选择对应的目录
26.png

1.2 测试访问
27.png


uWSGI运行方式:
  • 用途: uWSGI 是一个用于运行 WSGI 应用程序的高性能应用服务器。它支持多种协议,不仅仅局限于 Python,还可以用于其他语言的应用程序。
  • 特点: uWSGI 提供了很多高级功能,如负载均衡、进程管理、异步处理等。它还支持在不同的服务器(如 Nginx)和应用程序之间进行灵活的连接。
优点:
  • 高性能:uWSGI 以高性能著称,能够处理大量并发请求。
  • 灵活性:支持多种部署模式和协议。
  • 功能丰富:提供了许多高级功能,适用于复杂的部署场景。
缺点:
  • 学习曲线:相对于一些简单的服务器,uWSGI 的配置和使用可能需要一些学习。
  • 配置复杂:对于一些高级功能,配置文件可能变得复杂。


Gunicorn运行方式:
  • 用途: Gunicorn 是一个 Python WSGI HTTP 服务器,用于运行 WSGI 应用程序。它是一个轻量级而简单易用的服务器。
  • 特点: Gunicorn 设计简单,易于使用。它采用预创建的 worker 进程,以提高性能和稳定性。

优点:
  • 易用性:Gunicorn 的配置相对简单,适合快速部署。
  • 稳定性:通过使用预创建的 worker 进程,Gunicorn 能够提高应用程序的稳定性。
  • 中小型应用:适用于中小型应用,不需要复杂的配置。
缺点:
  • 性能:相对于一些高级的服务器,Gunicorn 在处理大量并发请求时可能略显逊色。
  • 功能较少:相对于 uWSGI,Gunicorn 提供的高级功能较少。

如何选择:
  • 复杂度和需求: 如果您的应用程序比较简单,不需要复杂的配置和高级功能,而且对于性能要求不是特别高,那么 Gunicorn 可能是更好的选择。如果您需要更高级的功能和灵活性,那么 uWSGI 可能更适合。
  • 性能和稳定性: 如果性能和稳定性是首要考虑的因素,可以考虑使用 uWSGI。它在处理大量并发请求时表现出色,并提供了更多的高级功能。
  • 学习曲线: 如果您希望快速上手并且学习曲线较低,Gunicorn 可能是更好的选择。uWSGI 的配置和功能较为复杂,可能需要一些时间来学习。
综上所述,选择 uWSGI 还是 Gunicorn 取决于您的具体需求和偏好。在实际应用中,您可能需要根据项目的性质和规模做出适当的选择。

使用道具 举报 只看该作者 回复
发表于 2023-12-28 18:22:38 | 显示全部楼层
此帖子不处理任何问题
使用道具 举报 回复 支持 反对
发表于 2024-11-27 15:32:27 | 显示全部楼层
文档能不能同步更新下,ui都变了,怎么配置都看不懂了
使用道具 举报 回复 支持 2 反对 0
发表于 2024-10-22 13:39:48 | 显示全部楼层
8.2的时候让我指定启动文件,这还好用,现在9.0怎么让我输入启动命令了,写上文件路径还报没有权限,运行不了。改的我不会用了,告诉我这么退回旧版本也行啊。全网都没有个怎么安装指定版本的命令
使用道具 举报 回复 支持 1 反对 0
发表于 2024-8-25 23:47:36 | 显示全部楼层
添加 python 项目时 , 就算是填有 requirements.txt ,也无法自动安装依赖
宝塔面板 9.1.0
使用道具 举报 回复 支持 1 反对 0
发表于 2024-7-3 12:25:48 | 显示全部楼层
本帖最后由 宝塔用户_pqeqgh 于 2024-7-3 12:26 编辑

请问如何激活虚拟环境 /www/server/pyporject_evn/website_venv/bin路径下,没有activate
  1. [root@i11111hu0l3jt9jwryerZ bin]# ls
  2. 2to3               ckeygen       gunicorn   ipython     pip     pydoc3.8    python3           sqlformat  twistd   xbrnetwork
  3. 2to3-3.8           conch         hypercorn  ipython3    pip3    pygmentize  python3.8         tkconch    uvicorn  xbrnetwork-ui
  4. automat-visualize  daphne        idle3      mailmail    pip3.8  pyhtmlizer  python3.8-config  trial      uwsgi
  5. cftp               django-admin  idle3.8    normalizer  pydoc3  python      python3-config    twist      wamp
复制代码
使用道具 举报 回复 支持 1 反对 0
发表于 2024-5-21 07:55:34 | 显示全部楼层
我是谁不重要学习 发表于 2024-4-21 12:56
安装python项目模块的地方怎么找不到了?

你安装的win面板么,win没有,换linux的
使用道具 举报 回复 支持 1 反对 0
发表于 2024-4-21 12:56:37 | 显示全部楼层
安装python项目模块的地方怎么找不到了?
使用道具 举报 回复 支持 反对
发表于 2024-5-24 22:04:10 | 显示全部楼层
报错404 Not Found
nginx
使用道具 举报 回复 支持 反对
发表于 2024-5-24 22:05:03 | 显示全部楼层

部署flask后,尝试通过公网ip访问时出现的问题
使用道具 举报 回复 支持 反对
发表于 2024-6-28 10:02:59 | 显示全部楼层
我用的是Gunicorn 部署的很稳定
使用道具 举报 回复 支持 反对
发表于 2024-7-22 21:17:12 | 显示全部楼层
你好。创建项目后的模块路径在哪
使用道具 举报 回复 支持 反对
发表于 2024-7-28 11:03:37 | 显示全部楼层
后续会支持 pipfile.lock 安装依赖吗?
使用道具 举报 回复 支持 反对
发表于 2024-9-12 20:38:14 | 显示全部楼层
9.2.0直接不会用了
使用道具 举报 回复 支持 反对
发表于 2024-9-15 19:20:37 | 显示全部楼层
9.2.0 怎么部署?
使用道具 举报 回复 支持 反对
发表于 2024-9-20 17:44:16 | 显示全部楼层
我是真搞不懂两三年了,Python项目管理怎么还这么拉胯,一个虚拟环境怎么这么难像普通的模式一样,连个activate都没有,现在的9.2.0我是可以通过source py-project-env 项目名来进入我项目的虚拟环境,可这个虚拟环境除了Python的版本是正确的,显示了这个虚拟环境名字,没有任何作用,在不在虚拟环境下,pip list都是一样的列表,我在requirements.txt中安装的依赖完全看不到,而且我配置mysql数据库,我的模块中明明已经有了mysqlclient,还是提示我没有安装,真的搞不懂
使用道具 举报 回复 支持 反对
发表于 2024-9-27 18:37:07 | 显示全部楼层
宝塔用户_amowod 发表于 2024-9-20 17:44
我是真搞不懂两三年了,Python项目管理怎么还这么拉胯,一个虚拟环境怎么这么难像普通的模式一样,连个acti ...

他们自作聪明自动帮我们安装和设置虚拟环境的位置了,我都被这个烦死了!连自己创建自己的虚拟环境都不行,有病一样!他们难道不知道很多库并不是简单的pip就可以直接安装还是把用宝塔的人当傻子对待?
使用道具 举报 回复 支持 反对
12下一页
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

普通问题处理

论坛响应时间:72小时

问题处理方式:排队(仅解答)

工作时间:白班:9:00 - 18:00

紧急运维服务

响应时间:3分钟

问题处理方式:宝塔专家1对1服务

工作时间:工作日:9:00 - 18:30

宝塔专业团队为您解决服务器疑难问题

立即付费处理

工作时间:09:00至24:00

快速回复 返回顶部 返回列表