当前位置: 首页 > news >正文

使用宝塔面板部署Django应用(不成功Kill Me!)

使用宝塔面板部署Django应用

文章目录

    • 使用宝塔面板部署Django应用
  • 本地操作
  • 宝塔面板部署
  • 可能部署失败的情况

本地操作

  1. 备份数据库
# 备份数据库
mysqldump -u root -p blog > blog.sql
  1. 创建requirements
# 创建requirements.txt
pip freeze > requirements.txt
  1. 将本项目打包成zip文件上传到服务器

宝塔面板部署

  1. 进入宝塔面板 在软件商店安装Myql5.7 python项目管理器2.4 Nginx1.24

在这里插入图片描述

  1. 在网站栏点击添加站点 输入域名 其他都不创建

在这里插入图片描述

  1. 然后点击数据库栏点击添加数据库,一般数据库名就用django应用的数据库名

在这里插入图片描述

然后导入刚才备份的数据库sql文件

  1. 然后将刚才上传的zip文件解压到www/wwwroot目录下,然后修改配置文件

修改settins.py文件,注意这里的密码就是刚才创建数据库时生成的密码

# 修改数据库配置
DATABASES = {"default": {"ENGINE": "django.db.backends.mysql",'USER': 'blog_project','PASSWORD': 'xxxxx','HOST': 'localhost','PORT': '3306','NAME': 'blog_project',}
}

在根目录下创建uwsgi.ini文件,复制内容

[uwsgi]
master = true
processes = 1
threads = 2
master = true
chdir = /www/wwwroot/blog_project
wsgi-file= /www/wwwroot/blog_project/blog_project/wsgi.py
http = 0.0.0.0:8000
logto = /www/wwwroot/blog_project/logs/error.log
chmod-socket = 660
vacuum = true
uid=root
gid=root
max-requests = 1000
  1. 点击软件商店,点击python项目管理器的设置,点击添加项目

注意这里项目路径要填到manage.py文件的上一级目录,也就是项目的根目录,确保这里面有requirements.txt文件和manage.py文件。

启动文件要选择wsgi.py文件

在这里插入图片描述

  1. 映射到域名,输入刚才设置的域名即可

在这里插入图片描述

  1. 修改一下nginx的配置文件,将域名指向到django的端口

在这里插入图片描述

  1. 重启nginx和python项目管理器,然后访问域名,如果出现主页,说明部署成功

在这里插入图片描述

可能部署失败的情况

如果出现诸如502 或者 Internal Server Error等错误,大概率是setting.py文件中的数据库配置有问题.(如果你照着我的步骤操作的话)

如果出现页面加载成功,但是样式、图片等资源加载不出来,可能是静态资源没有配置好,具体来说就是在nginx的配置文件中加入

location /static/ {alias /www/wwwroot/blog_project/static/;
}

如果出现404错误,可能是python项目忘记启动,重启一下即可。

http://www.lryc.cn/news/374836.html

相关文章:

  • c++深拷贝、浅拷贝
  • k8s核心组件
  • 反编译腾讯vmp
  • Ollama:本地部署大模型 + LobeChat:聊天界面 = 自己的ChatGPT
  • JS中splice怎么使用
  • Flutter项目,Xcode15, 编译正常,但archive报错
  • 云动态摘要 2024-06-17
  • 【JavaScript脚本宇宙】图像处理新纪元:探索六大JavaScript图像处理库
  • 使用python调ffmpeg命令将wav文件转为320kbps的mp3
  • 程序启动 报错 no main manifest attribute
  • java-内部类 2
  • 【小技巧】pycharm中自动换行的实现
  • 如何修改倍福CX7000PLC IP地址
  • python安装flask,flask框架,使用静态文件、模板、get和post请求
  • Docker:Harbor
  • 2024 6.10~6.16 周报
  • clickhouse学习笔记(四)库、表、分区相关DDL操作
  • 聚焦现代商贸物流愿景 构筑供应链金融服务体系|第二届京津冀现代商贸物流金融创新发展百人大会成功举办
  • 解锁数据潜力:数据提取与治理的终极指南
  • 行列视(RCV)报表中的时间是如何处理的?
  • 成员变量和for循环里面的变量不冲突原因
  • 如何使用任意浏览器远程访问本地搭建的Jellyfin影音平台
  • CEM美国培安消解罐内管 CEM40位 55ML 微波消解罐
  • 使用 Selenium 保持登录会话信息
  • 程序员画图工具?那必然是你了!!【送源码】
  • k8s nginx.conf配置文件配置
  • XSKY 在金融行业:新一代分布式核心信创存储解决方案
  • 第9章 类
  • Elasticsearch 第二期:倒排索引,分析,映射
  • 函数的一点点习题