宝塔部署Django(2023最新踩坑记录)

本文节选自我的博客:宝塔部署 Django (2023 最新踩坑记录)

  • 作者简介:大家好,我是MilesChen,偏前端的全栈开发者。
  • CSDN主页:爱吃糖的猫
  • 我的博客:爱吃糖的猫
  • Github主页: MilesChen
  • 支持我:点赞+收藏⭐️+留言
  • 介绍:The mixture of WEB+DeepLearning+Iot+anything

前言

随着各个软件的迭代升级,网上的教程、b站的视频都不是最新的。我跟着做了十几份过时教程,折腾了好久,踩了不少坑。才有这篇文章,问题汇总在最后,希望能帮到你。

环境

  • CentOs7.9
  • 宝塔7.9.10
  • python项目管理器2.5
  • python 3.6.8
  • Nginx 1.22.1
  • MySQL 5.7.40
  • Django3.2.19
  • PyMySQL 1.0.2
    这些环境之间大部分都是兼容的,但需要注意Django和MySQL的版本对应关系,版本不兼容就会报奇怪的错误。
    宝塔部署Django(2023最新踩坑记录)_第1张图片

安装

环境安装

  1. 安装宝塔 安装请百度搜索,这里不赘述。
  2. 安装python项目管理器2.5,目前最新版本是2.5,可以把首页显示顺手打开
    宝塔部署Django(2023最新踩坑记录)_第2张图片
  3. 安装MySQL,搜索直接安装,注意版本和Django版本的对应关系

项目配置

  1. 上传Django工程目录
    宝塔部署Django(2023最新踩坑记录)_第3张图片

  2. 修改setting.py文件,这个文件的位置在 项目名称/setting.py。修改两处地方

  • DEBUG = False
  • ALLOWED_HOSTS = [‘*’],或者改成你的域名,或者是IP地址
    宝塔部署Django(2023最新踩坑记录)_第4张图片
  1. 在项目根目录下新建uwsgi.ini文件,内容如下
[uwsgi]
master = true
processes = 1
threads = 2
master = true
chdir = /www/wwwroot/gpss.xxxxxx.cn
wsgi-file= /www/wwwroot/gpss.xxxxxx.cn/item/wsgi.py
http = 0.0.0.0:7758
logto = /www/wwwroot/gpss.xxxxxxx.cn/logs/error.log
daemonize = /www/wwwroot/gpss.xxxxxx.cn/logs/test.log
chmod-socket = 660
vacuum = true
uid=root
gid=root
max-requests = 1000
  1. 使用Python项目管理器 添加Django项目,启动文件的 item 改成你的项目名称对应的目录,需要等等几分钟。
    宝塔部署Django(2023最新踩坑记录)_第5张图片

  2. 查看配置,检查配置文件的内容,注意wsgi-file后面的是 ** you_project/wsgi.py**,网上大部分教程都是uwsgi.ini 这是老版本的项目管理器了。
    宝塔部署Django(2023最新踩坑记录)_第6张图片

9 . 配置数据库,这里可以直接新建数据库
宝塔部署Django(2023最新踩坑记录)_第7张图片
修改setting.py,改成你的数据库配置。
宝塔部署Django(2023最新踩坑记录)_第8张图片

注意:这里有个版本的大坑参考
目前新版本的python项目管理器不在支持source myDjango_venv/bin/activate,的方式进入虚拟环境了,现在连activate文件都找不到。
python管理器2.0已经取消了虚拟环境了,项目路径会建一个md5格式的python目录
原先的命令:

source myDjango_venv/bin/activate
python manage.py makemigrations
python manage.py migrate

目前需要使用下面来执行创建创建表的命令

/www/wwwroot/item/d25eca96acb766c045e1d72f4b9a223c_venv/bin/python3 manage.py makemigrations
/www/wwwroot/item/d25eca96acb766c045e1d72f4b9a223c_venv/bin/python3 manage.py migrate
路径在这里查看
宝塔部署Django(2023最新踩坑记录)_第9张图片

  1. 点击映射,没有域名就写IP:PORT,注意把防火墙打开
    宝塔部署Django(2023最新踩坑记录)_第10张图片
    目前网站一句可以访问了,打开http://gpss.xxxxxx.cn/,可以得到HTML内容
    宝塔部署Django(2023最新踩坑记录)_第11张图片,还需要设置 nginx 代理加载静态文件。

  2. 到网站会多了一个反向代理站点,点击设置

在弹窗中选择反向代理-》配置文件添加来添加静态文件和媒体资源的配置。我这里只有静态资源

location ^~ /static/ {
    alias /www/wwwroot/gpss.xxxxxx.cn/static/;
}
location /media/ {
    alias /www/wwwroot/gpss.xxxxxx.cn/media/;
	}

宝塔部署Django(2023最新踩坑记录)_第12张图片

效果

宝塔部署Django(2023最新踩坑记录)_第13张图片

问题汇总

  1. 打开映射后的地址502,重启Django项目,一定要点状态的手动关闭,再启动,后面那个重启按钮有些问题。

    一定要点状态栏的启动、暂停!!!
    一定要点状态栏的启动、暂停!!!
    一定要点状态栏的启动、暂停!!!
    不然就会像我一样出现时而好使,时而不好使。

  1. 打开映射后的地址404,路由检查映射有没有打开、检查nginx网站有没有打开

  2. 打开映射后的地址Internal Server Error ,在暂时状态修改配置文件,修改完保存后,手动启动。
    宝塔部署Django(2023最新踩坑记录)_第14张图片


如果对您有帮助,麻烦点赞收藏、让更多踩坑的人看见,有任何疑问和想法,欢迎在评论区与我交流。

你可能感兴趣的:(后端,前端,django,python,后端)