阿里云Ubuntu 16.04部署Python Django REST framework

  • 时间:
  • 来源:互联网
  • 文章标签:

1.预备环境 购买 阿里云Ubuntu 16.04 64位服务器

优惠购买地址:199/年

https://free.aliyun.com/ntms/free/experience/getTrial.html?spm=5176.7973419.726407.45.5954fc0bXiIYOe

这里写图片描述


2.更新pip

pip install --upgrade pip

这里写图片描述

3.安装 Nginx, uwsgi

sudo apt-get install nginx

sudo apt-get install uwsgi

4.安装,创建虚拟环境

pip install virtualenv
//创建虚拟环境文件夹
mkdir SmartCommunity-ENV
cd SmartCommunity-ENV

**//创建虚拟环境(方便后期部署)**
virtualenv vir1
source vir1/bin/activate 

5.进入虚拟环境,安装必要软件

这里写图片描述

安装Django和restframework框架

pip install django
pip install djangorestframework
pip install Django

安装MySQL数据库

//没有安装的话迁移会出错
sudo apt-get install python3-dev libmysqlclient-dev
sudo apt-get install mysql-server
pip install mysqlclient

这里写图片描述

创建数据库

mysql -uroot -p

若没有设置账号密码,使用的则是系统账号密码,在一下文件的[client]节点下
/etc/mysql/debian.cnf

create database huantai charset=utf8;

远程登录连接失败原因:


 1. mysql数据库配置文件不要只监听本地地址;
/etc/mysql/mysql.conf.d/mysqld.cnf
注释掉:bind-address ,然后重启

这里写图片描述

 2. mysql添加账号的时候开启远程允许;
CREATE USER 'luojie'@'%' IDENTIFIED BY '123456'; 
GRANT ALL PRIVILEGES ON *.* TO 'luojie'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
FLUSH   PRIVILEGES;
 3. 防火墙关闭下或者开放3306;
ufw disable

 4. 阿里云账号登陆后管理ECS那边的安全策略开启3306这样数据库使用的端口

这里写图片描述

重启sqlserver:
sudo service mysql restart 

6.导入自己的代码

本例从git中clone代码

//设置Git的user name和email:
$ git config --global user.name "luojie1024"
$ git config --global user.email "luojie@hnu.edu.cn"
//生成SSH密钥过程:
1.查看是否已经有了ssh密钥:cd ~/.ssh
如果没有密钥则不会有此文件夹,有则备份删除
2.生存密钥:
$ ssh-keygen -t rsa -C “luojie@hnu.edu.cn”
按3个回车,密码为空。

查看生成的公钥

这里写图片描述

复制公钥

这里写图片描述

添加到github中

这里写图片描述

在服务器端clone自己的项目

这里写图片描述


数据迁移

python manage.py makemigrations
python manage.py migrate

这里写图片描述

7.运行

添加在阿里云控制台添加安全组策略

这里写图片描述

运行后台

python manage.py runserver 0.0.0.0:9000

这里写图片描述

这里写图片描述

本文链接http://www.taodudu.cc/news/show-647697.html