当前位置:   article > 正文

宝塔部署(Django4+Vue-Cli5+uwsgi+Nginx+Mysql)超详细_宝塔 django框架

宝塔 django框架

1. 打包vue-cli5

1.1 配置vue3

如果不配置的话,打包出来运行是空白的。下面跟着配置配置

在router目录下的index.js里

image-20230110080127913

导入:createWebHashHistory

然后拉到最下面

image-20230110080204134

history: createWebHashHistory(process.env.BASE_URL),
  • 1

然后到vue.config.js配置这4句

image-20230110080309324

assetsDir: 'static',
publicPath: './',
outputDir: 'dist',
indexPath:'index.html',
  • 1
  • 2
  • 3
  • 4

然后配置代理

image-20230110080439530

配置完成后,现在就可以打包了

npm run build

打包完成后目录有个dist文件,就是我们打包好了的文件,复制到桌面,然后访问index.html文件。能访问就是正常的。然后下一步整合到Django里!

2.整合到Django

2.1 整合

复制dist文件夹到Django,注意!这里与APP同级

image-20230110081810873

然后配置sttings.py

image-20230110081909854

'DIRS': ['./dist', ]
  • 1

继续配置

image-20230110082011491

接着配置

image-20230110082041903

STATIC_ROOT = os.path.join(BASE_DIR, "static")
  • 1

然后配置主路由urls

image-20230110082126550

image-20230110082156499

引入TemplateView

from django.views.generic import TemplateView
  • 1

配置路由

path('', TemplateView.as_view(template_name='index.html')),
  • 1

然后运行项目

python manage.py runserver

image-20230110082417560

运行成功后访问,看看是否正常

正常接着往下走。生成安装依赖。在pycharm终端执行

pip freeze > requirements.txt

生成完成后我们在目录就能看到requirements.txt文件

image-20230110082738342

然后打开DjangoProjece文件夹,压缩成压缩包

image-20230110084155408

然后全选,添加压缩文件。

image-20230110084234155

OK,然后我们去宝塔部署项目了。能走到这一步没有bug说明你是个极度幸运的人。

3.部署到宝塔

3.1安装宝塔环境

Nginx,Mysql,Python项目管理器是我们需要的环境。 重要的事情说三遍!!

注意!!! 安装Python项目管理器1.9版本

注意!!! 安装Python项目管理器1.9版本

注意!!! 安装Python项目管理器1.9版本

image-20230110083952836

安装好了我们去创建站点

image-20230110092626296

创建完成后我们进入站点

image-20230110084647404

删除这两个,然后上传我们打包好的文件

image-20230110084740892

解压文件

image-20230110084805303

3.2 配置uwsgi

然后我们新建一个名为uwsgi.ini的文件

image-20230110084854575

image-20230110084907372

然后点击进去编辑

image-20230110085156418

#添加配置选择
[uwsgi]
#配置和nginx连接的socket连接
socket=127.0.0.1:9888
#配置项目路径,项目的所在目录
chdir=/www/wwwroot/www.yunjiexi123.top/
#配置wsgi接口模块文件路径,也就是wsgi.py这个文件所在的目录
wsgi-file= djangoProject/wsgi.py
#配置启动的进程数
processes=4
#配置每个进程的线程数
threads=2
#配置启动管理主进程
master=True
#配置存放主进程的进程号文件
pidfile=uwsgi.pid
#配置uwsgi日志记录
daemonize=uwsgi_01.log

配置uwsgi,主要修改的两个地方chdir,wsgi-file,其他根据需要自己配置,记住你填写的socket端口。配置好了后就ctrl+s保存

3.3 添加项目

打开Python项目管理器,首页没有就去软件商店点已安装–设置

image-20230110085450171

然后我们安装Python版本,版本多少根据自己需要安装

image-20230110085546448

安装好了后我们点项目管理—>添加项目

image-20230110085841352

添加项目路劲

image-20230110090041233

选择框架和启动方式

image-20230110090251877

启动文件夹就选我们项目下最开始创建的uwsgi.ini文件,这里有个bug,看不见,你选完了看路劲对不对就行了,有时候你选择的时候就不见了,你就重新去项目目录下重新创建配置一遍!

image-20230110090505305

检查路劲

image-20230110090623716

端口天写我们在uwsgi.ini里配置的。

image-20230110090700620

image-20230110090716171

来个完整图

image-20230110090910995

点击确定后,我们回到站点修改setting.py。

image-20230110091052272

修改DEBUG和ALLOWED_HOSTS

image-20230110091222104

然后我们修改数据库,没有自己新建一个

image-20230110091409120

回到Stting.py修改数据库连接

image-20230110091716262

3.4 配置Nginx

image-20230110091829394

image-20230110092129209

然后随便找个地方

image-20230110092257704

location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:9888; #端口要和uwsgi里配置的一样
uwsgi_param UWSGI_SCRIPT djangoProject2.wsgi; #wsgi.py所在的目录名+.wsgi
uwsgi_param UWSGI_CHDIR /www/wwwroot/www.yunjiexi123.top/; #项目路径
}
location /static/ {
alias /www/wwwroot/www.yunjiexi123.top/static/; #静态资源路径
}

3.5 导出导入Mysql数据库

image-20230110095006185

导出到桌面后我们去mysql数据库里导入数据

现在我们就可以验收成果啦!

宝塔部署Django遇到的问题

1. 访问Internal Server Error

在Python项目管理器了。找到项目,点击模块,不想在这里配置的话也可以进入虚拟环境安装。

检查模块是否完整

image-20230110093037022

我们发现,宝塔有时候BUG并不会给你安装模块,你自己在上面搜索安装!注意还有一个BUG就是模块名称,一定要小写。我安装PyMysql就会安装失败。输入pymysql才能成功。

image-20230110093205551

需要安装什么模块你自己去你的requirements.txt里看

2. 访问项目504 Gateway Time-out

第一种办法,重启项目

image-20230110093629704

重启后还是不行,参考其他博主的解决方式

解决办法

3. 样式丢失

image-20230110094059271

虚拟环境名

image-20230110094130559

然后我们打开终端

image-20230110094154220

cd 到项目目录下

cd /www/wwwroot/www.yunjiexi123.top

然后,激活虚拟环境。

source mydjango_venv/bin/activate

image-20230110094503704

这样我们就激活了虚拟环境,然后我们收集静态资源

image-20230110094552203

python manage.py collectstatic

image-20230110094645923

大功告成!

4. 关于数据库导入失败的问题

image-20230110095228314

我们宝塔mysql版本是5.7.自己使用的版本是8.0或者5.7以上。排序规则是utf8mb4,而5.7版本是utf8的排序规则,所以我们就需要去修改导出的数据库。

打开数据库文件。全局替换

  • utf8mb4替换为utf8

  • utf8mb4_0900_ai_ci 替换为 utf8_general_ci

  • utf8_0900_ai_ci 替换为 utf8_general_ci

  • utf8_croatian_ci替换为utf8_general_ci

  • utf8mb4_general_ci替换为utf8_general_ci

  • utf8mb4 替换为 utf8

    我这里就用pycharm替换了。pycharm的快捷键是ctrl+r(唱跳rap加R)

image-20230110100042818

image-20230110100223362

修改完成后我们最好进入phpMyAdmin 去导入,看看是否添加数据进去了

image-20230110100356560

image-20230110100451682

然后拉到最下面,点击导入

image-20230110100522370

image-20230110100541230
OK,这里可以看到我们已经成功的导入数据啦。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/147542
推荐阅读
相关标签
  

闽ICP备14008679号