跳到主要内容

部署前后端分离项目

从本节开始正式部署前后端分离的电影网站项目。这个项目的部署,和我们前面介绍的纯django网站项目有很多地方非常类似,如果你是一个新手的话,可以先去学习一下前面django基础中的网站部署,例如,如何购买服务器,如何上传代码,如何安装宝塔等等。

相似的内容这里我们不再赘述,我们重点介绍前后端分离的不一样的地方。

打包前端代码​

在frontend文件夹下,有很多的vue文件和静态资源文件,我们进入到frontend路径下,使用如下命令进行打包。

pnpm build

如下所示。

图100-前端文件打包

打包后,在frontend目录下生成一个dist文件夹,如下图所示。

图100-创建dist文件夹

生成requirements.txt​

将项目中所用到的第三方包全部存储在一个requirements.txt文件中,使用如下命令:

pip freeze > requirements.txt

运行效果如下:

图100-生成requirements文件

执行完成后,会生成一个requirements.txt文件,里面显示是安装的包名。如下图所示。

图100-requirements.txt文件内容

上传代码​

小伙伴可以使用ftp或git上传代码到云服务器, 将代码上传到服务器上的/www/wwwroot/下。可以参照Django基础知识的部署小结。

接下来,在宝塔中添加python项目。如下图所示。

图100-宝塔添加项目

上面端口设置为9200, 所以我们需要在宝塔和阿里云服务都开启这个端口。

图100-宝塔开启9200端口

图100-阿里云开启9200端口

创建虚拟环境启动项目​

在服务器的项目目录下,使用virtualenv创建一个venv虚拟环境,命令如下:

virtualenv venv

如下图所示。

图100-创建虚拟环境

注意

如果提示virtualenv不可用,则需要使用命令pip install virtualenv安装

使用如下命令激活虚拟环境:

source venv/bin/activate

激活后,使用如下命令安装第三方包:

pip install -r requirements.txt

如下图所示。

图100-激活虚拟环境

添加数据库​

接下来添加数据库,小伙伴可以使用命令行的方式添加,也可以使用宝塔界面添加。宝塔界面添加如下图所示。

图100-添加数据库

配置数据库​

在settings.py中,配置mysql,修改用户名和密码。如下图所示 。

图100-配置mysql

收集静态资源文件​

将所有的静态资源全部放到collected_static路径下。如下图所示。

图100-设置静态资源

执行如下命令自动收集:

python manage.py collectstatic

图100-收集静态资源文件 新增的文件如下: 图100-新增collected_static文件夹

生成迁移文件​

使用如下命令生成迁移文件:

python manage.py migrate

如下图所示。 图100-执行迁移

启动服务​

使用如下命令启动django服务:

python manage.py runserver 127.0.0.1:9200

图100-启动服务

注意

前面我们配置的端口是9200,所以启动服务时,这里添加一个端口号。

如果启动后,服务报错,需要一一处理每一个错误,直到正确启动。

配置nginx​

在www/server/pannel/vhost/nginx目录下,创建一个drf_movie.conf文件,代码如下:

🔒 试读结束

继续阅读完整内容

以上为免费预览。前往「Django + Vue 全栈课程」,查看后续完整讲解、案例演示和配套资料。

查看课程详情