购买阿里云服务器

到[阿里云官网],选择轻量应用服务器, 步骤如图所示: 

地域随便选择哪一个,镜像的话,对比了CentOS,Debian,Ubuntu,我最终选择了CentOS,因为流行嘛~配置的话,看项目本身了,我这里选择的是1G内存,20G硬盘最小配置,也够用了。

配置python环境
进入服务器
选择好服务器并付费之后,点击阿里云的控制台-云计算基础服务-轻量应用服务器:

点击CentOS服务器,进入后,点击右上角的远程连接,如图所示:

安装python3并与python2共存
CentOS 7.3 默认安装了python2.7.5 因为一些命令要用它比如yum 它使用的是python2.7.5。当我们在命令行里输入

python -V

就可以看到版本为2.7.5。

安装python3
因为我们要安装python3版本,所以python要指向python3才行,目前还没有安装python3,先备份,备份之前先安装相关包,用于下载编译python3

yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make

这几个包必须得安装,否则安装python3时可能会出现各种错误. 
运行下面两个命令,进行备份

cd /usr/bin
mv python python.bak

安装


wget https://www.python.org/ftp/python/3.6.3/Python-3.6.3.tar.xz

解压

tar -xvJf  Python-3.6.3.tar.xz

切换进入

cd Python-3.6.3

编译安装

./configure prefix=/usr/local/python3
make && make install

安装完毕,/usr/local/目录下就会有python3了

实现python3和python2的共存
添加python3的软链

rm /usr/bin/python
ln -s /usr/local/python3/bin/python3 /usr/bin/python

这时候在执行命令python -v和python2 -V,应该就能看到python3和python2的版本了。 
因为执行yum需要python2版本,所以我们还要修改yum的配置,执行:

vi /usr/bin/yum把#! /usr/bin/python修改为#! /usr/bin/python2 

同理

vi /usr/libexec/urlgrabber-ext-down 

文件里面的#! /usr/bin/python 也要修改为#! /usr/bin/python2

安装django项目中需要的python相关包
安装python相关包需要用到python中的pip命令,比如我项目中需要的包有:

pip install Django
pip install PyMySQL
pip install Scrapy
pip install beautifulsoup4
pip install bs4
pip install lxml
pip install numpy
pip install requests
pip install simplejson
pip install urllib3

注意:在执行命令pip install mysqlclient时会报错,这里需要特别强调下,不然在后面运行需要连mysql的django项目时,会报do you install mysqlclient? 
解决方法如下:

sudo python -m pip install mysqlclient

此时python所有需要的包,都已经安装好

安装mysql
下载mysql源安装包

wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm

安装mysql源

yum localinstall mysql57-community-release-el7-8.noarch.rpm
yum install mysql-devel

安装MySQL
启动MySQL服务

systemctl start mysqld

查看MySQL的启动状态

systemctl status mysqld

开机启动

systemctl enable mysqld

修改root本地登录密码

grep 'temporary password' /var/log/mysqld.log
mysql -uroot -p
set password for 'root'@'localhost'=password('!2Qw32sd'); 


注意:mysql5.7默认安装了密码安全检查插件(validate_password),默认密码检查策略要求密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于8位。否则会提示ERROR 1819 (HY000): Your password does not satisfy the current policy requirements错误

配置默认编码为utf8 
修改/etc/my.cnf配置文件,在[mysqld]下添加编码配置,如下所示:

[mysqld]

character_set_server=utf8

init_connect='SET NAMES utf8'

导入django和mysql数据库
导入django项目
由于我项目放在码云上面,然后CentOS又自带git,我的数据库文件也比较小,所以也放在django项目中了,用git下载下来:

sudo su root
mkdir project
cd project
git clone https://gitee.com/dafeige/django-restframework-demo.git

导入sql数据库文件
进入数据库

mysql -u root -p

导入sql文件。。。

部署django工程
进入到工程中
python manage.py runserver 0.0.0.0:80 &

最后面的”&”,这符号表示在后台运行该进程。这里的IP地址如果用公网IP 
会运行不了,而用0.0.0.0则外网和127.0.0.1都能够访问。

未完待续...

阿里云部署django项目流程【centos7+python3+mysql】相关推荐

  1. 阿里云部署docker项目流程

    阿里云部署docker项目流程 这是自己的项目项目原来的项目是一个手机远程管理交换机的项目,项目中包含嵌入开发,python+flash对接的flutter(android+ios),mysql,re ...

  2. 阿里云部署Django项目(nginx+uWSGI)-2018.11

    前言:部署的前提是你的项目已经在本地完成可以运行了,我的本地环境是ubuntu16.04+python3.5+Django2.1.2+Mysql,在python虚拟环境(virtualenv)下建的项 ...

  3. 阿里云部署Django项目发送邮件时,端口25,465,587上的坑

    今天在往阿里云上部署Django项目时,遇到一个端口的坑,花了半天终于找到问题所在. 在Django项目中,发送邮件需要在settings.py中做如下的设置: EMAIL_HOST = 'smtp. ...

  4. 阿里云部署Django项目

    文章目录 1.阿里云安装CentOS7.8操作系统. 2.安装MySQL5.7.32: 3.安装mysqlclient: 4.安装Nginx1.20.2: 5.安装uwsgi2.0.20服务器: 6. ...

  5. python项目管理器 宝塔面板 django 404_宝塔面板成功部署Django项目流程(图文)

    上线 Django 项目记录,超简单,避免无意义的踩坑! 第一步:安装python管理器 在宝塔在线面板安装" python项目管理器 " 第二步:安装适配python版本 因为服 ...

  6. 这应该是全网最详细的IIS部署Django项目流程了

    本文从0开始介绍IIS上部署Django项目的整体流程,以及可能会遇到的一些坑等等 安装IIS 1.首先打开服务器管理器,点击添加角色和功能.勾选Web服务器(IIS),并IIS下所有功能全部勾选,之 ...

  7. 【超详细附参考】阿里云部署spring项目基本流程详解及踩坑经验

    文章目录 环境及前期准备 基本流程 购买云服务器 连接云服务器 工具准备 Xshell连接: Xftp连接: 环境配置 JDK安装 Tomcat安装 Mysql安装 Maven安装 项目打包部署 数据 ...

  8. 使用阿里云部署Web项目后无法通过浏览器访问

    部署时使用Django+Nginx+uwsgi的框架,部署完成后访问网页一直报错无法访问,检查部署过程没有问题,之后发现原因是没有开启阿里云的端口 解决方法是: 1.登录阿里云,在控制台进入云服务器的 ...

  9. javaweb k8s_阿里云部署K8Sweb项目

    一.背景 如果你 1.使用Java进行开发 2.使用容器镜像的制品形式进行交付 3.制品最终会运行在阿里云ACK或者其他K8S集群上 那么本文档可以帮助您实现研发流程的协同自动化. 二.用户诉求 1. ...

最新文章

  1. Vue.js 官方团队成员霍春阳新作,深入解析 Vue.js 设计细节
  2. 手机网站优化重点来了!快记下
  3. DirectX?OpenGL?CUDA?Stream?OpenCL?
  4. 获取CPU序列号和MAC地址
  5. silverlight导出excel
  6. 别瞎忙活:创业公司的6条时间管理策略
  7. VC++ HIDAPI实现USB数据读写
  8. Oracle提升查询性能之-简单范围分区表的创建
  9. Atitit 命令指令的分类与权限 IMAP协议为例子 目录 1. 指令的作用的权限吧。 全局命令 未认证状态命令 未认证状态命令 选中状态指令 2 1.1. 1.在任何状态下都有效的指令(全局命
  10. api wke_好用的wke浏览器代码,兼容chrome
  11. Team Foundation Server 2013 with Update 3 Install LOG
  12. 我们是如何设计出,让玩家们有“上瘾症”的抽卡系统的
  13. Oracle EBS 值层次结构查询SQL
  14. 勇敢的心——感动内德
  15. 7、JSON数据和Java对象的相互转换(客户端和服务器对象数据通讯用)
  16. Excel VBA获取选择文件的文件名称
  17. 最新流浪猫流浪狗H5完整运营源码下载/可封装APP
  18. 对拉格朗日乘数法和KKT条件的简单理解(来自PRML的附录)
  19. AI Challenger 2018决赛在即,12月18-19日极客峰会免费抢票!
  20. 黑客攻防从入门到精通 第7章及后文

热门文章

  1. ICMP (互联网控制消息协议 )是什么
  2. sql 查询结果为null替换 为 0
  3. Web Service 客户端,调用服务方法
  4. 《算法竞赛进阶指南》0.4二分
  5. PHP全栈学习笔记27
  6. FactoryBean
  7. JavaScript中的原型继承原理
  8. sscanf的高级用法
  9. android学习日记12--布局管理器
  10. Delphi 记录类型- 结构指针