Window服务器部署Django:服务器准备

手里负责了一项Django项目,顺利开发完成原型系统后,导师指示要部署到服务器上,并且给了我一个OpenStack平台的Win10服务器,对于部署项目完全小白的我真是一脸懵,搜了很多博客以及互联网资料,但是杂乱无章、晦涩难懂,搞得我晕头转向。本来以为服务器准备就是拥有一台目标服务器和安装python,可是没想到系列工作一大堆,害,是我想的太简单。

摸索出几天终于有点头绪,所以决定记录下来,如果有类似情况希望有可以给大家一个参考。

项目环境参考:
Win10 64位
Django 3.0
Python 3.8

服务器环境准备及Python环境安装

服务器准备

这个是导师给我的OpenStack平台的win10服务器,当然如果自己部署的话可以购买阿里云服务器。

OpenStack平台win10服务器
进入服务器后,要将你的项目放在服务器上,我就随意放在了桌面上。下面是我的Django项目目录。

在这里插入图片描述
ps:我使用PyCharm开发的时候用的是虚拟环境。

搭建Python环境

运行好服务器后,首先需要在服务器安装python环境,我的项目使用的python3.8版本,可以通过下方python官网下载指定版本即可。
https://www.python.org/downloads/

在安装Python过程中记得勾选 Add to Path, 直接将python加入到环境变量中去比较方便。
安装好后在cmd测试是否成功。

在这里插入图片描述如果输入python,输出你下载的python版本就OK了。

在Django项目虚拟环境中配置项目依赖包

Pybishe-xxx 是我的项目目录,在项目目录下进入到对应的虚拟目录,activate命令进入虚拟环境

在这里插入图片描述在这里插入图片描述

如上成功进入虚拟环境,通过pip list 查看当前环境依赖包。

在这里插入图片描述
以上是我的项目依赖包,如果你是第一次搭建服务器环境可能这里要缺少很多依赖包。根据你自己项目的情况,依次pip install即可。

如果不确定要pip哪些包,可以先pip以下基础的也是最重要的包(下载自己项目对应的包版本)。

Django、virtualenv、PyMySQL、sqlparse等

服务器MySQL安装

我使用的mysql版本是8.0.12
https://downloads.mysql.com/archives/installer/

在上方官网,选择对应的MySQL版本安装就好,安装教程参考如下:
https://blog.csdn.net/wangbeibei23/article/details/82056951

ps:

最好重置一下密码:
ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘新密码’;
不然直接连接数据库会报1045错误。

要保证此处的密码和settings.py密码一致才可连接数据库。

反正多试几遍就可以了,我改了很多次才成功。

数据库迁移

python mange.py makemigrations

python mange.py migrate

数据迁移

因为数据库中有大量的数据,所以也要进行数据迁移,在本地开发项目的目录中(注意这里不是服务器),进入虚拟环境输入以下命令:
python mange.py dumpdata > data.json

输入后你的项目目录会出现一个新的文件data.json

在这里插入图片描述如上图最后一个文件。

将data.json移动到你的服务器项目目录下,并进入到服务器项目虚拟环境下执行以下命令:
python manage.py loaddata data.json

这里可能会出现报错 (1062, "Duplicate entry 之类的,反正我是遇到了。解决方法参考
https://blog.csdn.net/thindi/article/details/93471905

报1062错误的原因是mysql里django_content_type有值,现在进去mysql删除表数据

因为有外键关联,解决方法,先解除外键关系,删完再恢复

set foreign_key_checks=0;
truncate table django_content_type;
truncate table auth_permission;
set foreign_key_checks=1;

然后再执行python manage.py loaddata data.json出现如下命令即数据迁移成功。

Installed 477 object(s) from 1 fixture(s)

服务器本地测试运行Django项目

到这里基本服务器的工作就做好了
执行python manage.py runserver
项目能够成功运行。

但是以上也只是将项目部署到服务器本地并且运行,如果结束运行我们还是无法访问项目。所以下一步再探讨如何通过IIS 发布Django项目或者EGNIX。

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值