Linux系统之轻松搭建Django项目【玩转华为云】
- 一、华为云弹性云服务器ECS介绍
- 二、Django介绍
- 三、本次实践介绍
-
- [3.1 本次实践简介](#3.1 本次实践简介)
- [3.2 本次实践环境介绍](#3.2 本次实践环境介绍)
- 四、环境准备工作
-
- [4.1 预置环境](#4.1 预置环境)
- [4.2 查询预置环境信息](#4.2 查询预置环境信息)
- [4.3 登录华为云](#4.3 登录华为云)
- [4.4 复制弹性公网IP地址](#4.4 复制弹性公网IP地址)
- [4.5 远程登录ECS弹性云服务器](#4.5 远程登录ECS弹性云服务器)
- 五、配置MySQL数据库
-
- [5.1 配置mysql的yum仓库](#5.1 配置mysql的yum仓库)
- [5.2 安装mysql数据库](#5.2 安装mysql数据库)
- [5.3 启动 MySQL](#5.3 启动 MySQL)
- [5.4 查看 MySQL 运行状态](#5.4 查看 MySQL 运行状态)
- [六、 MySQL数据库配置](#六、 MySQL数据库配置)
-
- [6.1 修改登录密码](#6.1 修改登录密码)
- [6.2 登录本地数据库](#6.2 登录本地数据库)
- [6.3 创建数据库](#6.3 创建数据库)
- [6.4 创建用户名和密码](#6.4 创建用户名和密码)
- [6.5 设置权限](#6.5 设置权限)
- 七、安装Python和pip
-
- [7.1 安装相关依赖](#7.1 安装相关依赖)
- [7.2 添加epel扩展源](#7.2 添加epel扩展源)
- [7.3 安装pip](#7.3 安装pip)
- [7.4 下载python](#7.4 下载python)
- [7.5 解压python软件包](#7.5 解压python软件包)
- [7.6 编译安装python](#7.6 编译安装python)
- [7.7 安装依赖zlib、zlib-devel、mariadb-devel](#7.7 安装依赖zlib、zlib-devel、mariadb-devel)
- [7.8 修改/usr/bin/yum](#7.8 修改/usr/bin/yum)
- [7.9 将原来的python,pip链接备份](#7.9 将原来的python,pip链接备份)
- [7.10 添加python3的软链接](#7.10 添加python3的软链接)
- [7.10 测试python版本](#7.10 测试python版本)
- 八、创建Django项目
-
- [8.1 安装django](#8.1 安装django)
- [8.2 下载django的python包](#8.2 下载django的python包)
- [8.3 创建文件](#8.3 创建文件)
- [8.4 查看文件是否创建](#8.4 查看文件是否创建)
- [8.5 配置Django项目](#8.5 配置Django项目)
- [8.6 修改myproject/myproject/settings.py文件](#8.6 修改myproject/myproject/settings.py文件)
- [8.7 数据库迁移](#8.7 数据库迁移)
- 九、运行Django项目
一、华为云弹性云服务器ECS介绍
华为云弹性云服务器 ECS:提供安全稳定、可随时自助获取、弹性伸缩的计算服务,灵活计费,极简运维,极大降低企业成本。

二、Django介绍
Django是一个开源的Web应用程序框架,基于Python语言。它由Django Software Foundation开发,旨在简化Web开发,使开发人员能够快速地构建可扩展的和高性能的Web应用程序。Django提供了自动化的数据管理界面、URL路由、模板引擎、表单处理、安全性、缓存、国际化以及许多其他功能,可以大大减少Web开发的时间和工作量。Django还有一个强大的社区支持和广泛的文档资源,学习和使用Django非常容易。
三、本次实践介绍
3.1 本次实践简介
本次实践为在centos7.6系统下部署Django项目。
3.2 本次实践环境介绍
1.本次实践环境为华为KooLabs云实验平台;
2.本次实践使用服务器为华为云弹性云服务器ECS。
四、环境准备工作
4.1 预置环境
开始实验之前请点击手册上方"预置实验环境"按钮。
实验环境约等待【2分钟】后预置成功。环境预置成功会生成名称为 "ecs-euler" 的弹性云服务器ECS、并创建好配置相关的VPC。

4.2 查询预置环境信息
预置的 ECS 资源用户、密码信息可点击预置环境信息查看。

4.3 登录华为云
1.进入【实验操作桌面】,打开Chrome浏览器,首次可自动登录并进入华为云控制台页面。
2.如后续关闭浏览器重新登录或自动登录失败,可按如此步骤登录:选择【IAM用户登录】模式,于登录对话框中输入系统为您分配的华为云实验账号和密码登录华为云。

4.4 复制弹性公网IP地址
登录华为云后,在弹性云服务器管理页面,可以看到系统已自动为我们创建了一台ECS弹性云服务器,我们先复制弹性公网IP地址,以便后续使用。

4.5 远程登录ECS弹性云服务器
打开实验桌面的"xfce"终端,输入以下命令,远程连接ECS弹性云服务器。
bash
ssh root@弹性公网IP地址

五、配置MySQL数据库
5.1 配置mysql的yum仓库
在终端中输入以下命令,安装MySQL。
bash
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm

bash
rpm -ivh mysql-community-release-el7-5.noarch.rpm

5.2 安装mysql数据库
bash
yum -y update
bash
yum -y install mysql-server

5.3 启动 MySQL
启动 MySQL
bash
systemctl enable mysqld --now
5.4 查看 MySQL 运行状态
查看 MySQL 运行状态
bash
systemctl status mysqld

六、 MySQL数据库配置
6.1 修改登录密码
修改登录密码
bash
mysqladmin -u root password "123456"
6.2 登录本地数据库
使用以下命令, 登录本地数据库。
bash
mysql -u root -p123456

6.3 创建数据库
创建数据库
bash
CREATE DATABASE mydatabase;
6.4 创建用户名和密码
创建用户名和密码
bash
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypassword';
6.5 设置权限
bash
GRANT ALL PRIVILEGES ON mydatabase.* TO 'myuser'@'localhost';
bash
FLUSH PRIVILEGES;

七、安装Python和pip
7.1 安装相关依赖
在终端中输入以下命令,安装所需依赖包和pip
bash
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make
7.2 添加epel扩展源
添加epel扩展源
bash
yum -y install epel-release
7.3 安装pip
安装pip
bash
yum -y install python-pip xz install python3-devel
bash
pip3 install wget
7.4 下载python
bash
wget https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tar.xz

7.5 解压python软件包
解压python软件包
bash
xz -d Python-3.6.4.tar.xz
bash
tar -xf Python-3.6.4.tar
7.6 编译安装python
进入解压后的目录,依次执行下面命令进行手动编译。
bash
cd Python-3.6.4
bash
./configure prefix=/usr/local/python3

bash
make && make install
7.7 安装依赖zlib、zlib-devel、mariadb-devel
安装依赖zlib、zlib-devel、mariadb-devel
bash
yum install zlib zlib-devel mariadb-devel

7.8 修改/usr/bin/yum
把#!/usr/bin/python修改为#!/usr/bin/python2
bash
vim /usr/bin/yum

把#!/usr/bin/python修改为#!/usr/bin/python2
bash
vi /usr/libexec/urlgrabber-ext-down

7.9 将原来的python,pip链接备份
bash
mv /usr/bin/python /usr/bin/python.bak
bash
mv /usr/bin/pip /usr/bin/pip.bak
7.10 添加python3的软链接
添加python3的软链接
bash
ln -s /usr/local/python3/bin/python3.6 /usr/bin/python
bash
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip
7.10 测试python版本
测试python版本
bash
python -V
bash
pip -V

八、创建Django项目
8.1 安装django
安装django
bash
python3 -m pip install "django==2.2.12" -i https://repo.huaweicloud.com/repository/pypi/simple/

8.2 下载django的python包
下载django的python包
bash
pip3 download django==2.2.12 -i https://repo.huaweicloud.com/repository/pypi/simple/

8.3 创建文件
bash
pip3 install pymysql
bash
pip3 install mysqlclient==1.4.6
bash
ln -s /usr/local/python3/bin/django-admin /usr/local/bin/
bash
cd /root
bash
django-admin startproject myproject
8.4 查看文件是否创建
bash
[root@ecs-name ~]# ls
myproject mysql-community-release-el7-5.noarch.rpm Python-3.6.4 Python-3.6.4.tar
8.5 配置Django项目
bash
vim /root/myproject/myproject/settings.py
bash
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'mydatabase',
'USER': 'myuser',
'PASSWORD': 'mypassword',
'HOST': 'localhost',
'PORT': '3306',
}
}

8.6 修改myproject/myproject/settings.py文件
在myproject/myproject/settings.py文件中,修改ALLOWED_HOSTS的配置:
bash
vim myproject/myproject/settings.py
bash
ALLOWED_HOSTS = ['*']

8.7 数据库迁移
在终端中输入以下命令,执行数据库迁移。
bash
cd /root/myproject/
bash
python3 manage.py makemigrations
bash
python3 manage.py migrate

九、运行Django项目
- 进入myproject目录
bash
cd /root/myproject
- 在终端中输入以下命令,运行Django项目
bash
python3 manage.py runserver 0.0.0.0:8000

- 在浏览器中访问服务器EIP地址:8000,如果出现Django的欢迎页面,则说明Django项目已经成功运行。
