部署前后端分离项目
从本节开始正式部署前后端分离的电影网站项目。这个项目的部署,和我们前面介绍的纯django网站项目有很多地方非常类似,如果你是一个新手的话,可以先去学习一下前面django基础中的网站部署,例如,如何购买服务器,如何上传代码,如何安装宝塔等等。
相似的内容这里我们不再赘述,我们重点介绍前后端分离的不一样的地方。
打包前端代码
在frontend文件夹下,有很多的vue文件和静态资源文件,我们进入到frontend路径下,使用如下命令进行打包。
pnpm build
如下所示。

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

生成requirements.txt
将项目中所用到的第三方包全部存储在一个requirements.txt文件中,使用如下命令:
pip freeze > requirements.txt
运行效果如下:

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

上传代码
小伙伴可以使用ftp或git上传代码到云服务器, 将代码上传到服务器上的/www/wwwroot/下。可以参照Django基础知识的部署小结。
接下来,在宝塔中添加python项目。如下图所示。

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


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

如果提示virtualenv不可用,则需要使用命令pip install virtualenv安装
使用如下命令激活虚拟环境:
source venv/bin/activate
激活后,使用如下命令安装第三方包:
pip install -r requirements.txt
如下图所示。

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

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

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

执行如下命令自动收集:
python manage.py collectstatic
新增的文件如下:

生成迁移文件
使用如下命令生成迁移文件:
python manage.py migrate
如下图所示。

启动服务
使用如下命令启动django服务:
python manage.py runserver 127.0.0.1:9200

前面我们配置的端口是9200,所以启动服务时,这里添加一个端口号。
如果启动后,服务报错,需要一一处理每一个错误,直到正确启动。
配置nginx
在www/server/pannel/vhost/nginx目录下,创建一个drf_movie.conf文件,代码如下:
继续阅读完整内容
以上为免费预览。前往「Django + Vue 全栈课程」,查看后续完整讲解、案例演示和配套资料。
查看课程详情