前言

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

环境

  • CentOs7.9
  • 宝塔7.9.10
  • python项目管理器2.5
  • python 3.6.8
  • Nginx 1.22.1
  • MySQL 5.7.40
  • Django 3.2.19
  • PyMySQL 1.0.2

这些环境之间大部分都是兼容的,但需要注意Django和MySQL的版本对应关系,版本不兼容就会报奇怪的错误。

安装

环境安装

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

项目配置

  1. 上传Django工程目录

  2. 修改setting.py文件,这个文件的位置在 project-name/setting.py。修改两处地方

  • DEBUG = False
  • ALLOWED_HOSTS = [‘*’],或者改成你的域名,或者是IP地址
  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
    daemonize = /www/wwwroot/gpss.xxxxxx.cn/logs/test.log
    logto = /www/wwwroot/gpss.xxxxxxx.cn/logs/error.log
    chmod-socket = 660
    vacuum = true
    uid=root
    gid=root
    max-requests = 1000
  2. 使用Python项目管理器 添加Django项目,启动文件的 item 改成你的项目名称对应的目录,需要等等几分钟。

  3. 查看配置,检查配置文件的内容,注意wsgi-file后面的是 ** project-name/wsgi.py**,网上大部分教程都是uwsgi.ini 这是老版本的项目管理器了。

  4. 配置数据库,这里可以直接新建数据库

    修改setting.py,改成你的数据库配置。

注意:这里有个版本的大坑参考
目前新版本的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

路径在这里查看

  1. 点击映射,没有域名就写IP:PORT,注意把对应端口的防火墙打开

    目前网站一句可以访问了,打开http://gpss.xxxxxx.cn/,可以得到HTML内容,拿不到静态文件,还需要设置nginx代理加载静态文件

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

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

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

效果

问题汇总

  1. 打开映射后的地址502,重启Django项目,一定要点状态的手动关闭,再启动,后面那个重启按钮有些问题。
    一定要点状态栏的启动、暂停!!!
    一定要点状态栏的启动、暂停!!!
    一定要点状态栏的启动、暂停!!!
    不然就会像我一样出现时而好使,时而不好使。

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

  3. 打开映射后的地址Internal Server Error ,在暂时状态修改配置文件,修改完保存后,手动启动。


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