Ubuntu14.04 Django Mysql安装部署全过程

 

一、简要步骤。(阿里云Ubuntu14.04)

  • Python安装
  • Django
  • Mysql的安装与配置

  记录一下我的部署过程,也方便一些有需要的童鞋,大神勿喷~

二、Python的安装

由于博主使用的环境是Ubuntu14.04,所以系统自带了Python2.7.6。

我们可以使用Python –V查看自己Ubuntu中的Python版本。

三、Django

3.1

现在Django的版本已经到1.9.2了。我们可以到官网去下载,然后解压安装。

下载地址:http://www.djangoproject.com/download/

这里已经下载好了

3.2

解压安装

tar xzvf Django-1.9.2.tar.gz

cd Django-1.9.2/

sudo python setup.py install 

这里会提示一个报错是因为setuptools没有安装,我们再安装一个setuptools就好了。

Python2.x:

wget https://bootstrap.pypa.io/ez_setup.py -O - | sudo python

Python 3.x

wget https://bootstrap.pypa.io/ez_setup.py -O - | sudo python3.4

然后再次安装Django即可成功。

sudo python setup.py install

安装成功。

3.3

搭建项目

要创建一个Django项目非常简单,使用startproject命令,输入项目名称:

django-admin.py startproject PPNotes

Django会在当前目录下面创建一个PPNotes项目。里面的文件如下所示:

root@iZ94a2sp0pwZ:/work/Django-1.9.2# tree PPNotes/

PPNotes/

├── manage.py

└── PPNotes

    ├── __init__.py

    ├── settings.py

    ├── urls.py

    └── wsgi.py

1 directory, 5 files 

__init__.py:Python特性,可以是空文件,表明这个文件夹是一个可以导入的包。

settings.py:配置文件,本文主要修改数据库信息、模板目录、加载模块的信息。

url.py:URL配置文件,指定函数与URL的映射关系。

wsgi.py:本文中不会使用,nginx/apache+wsgi在生产环境中运行Django时使用

3.4

启动Django

创建完成之后,我们可以在项目文件夹里面启动Django自带的web服务器。

python manage.py runserver 0.0.0.0:8080

这时候很明显,我们需要执行一下python manage.py migrate

话说这个到底有什么用呢,它可以让我们在修改Model后可以在不影响现有数据的前提下重建表结构。

再次python manage.py runserver 0.0.0.0:8080

root@iZ94a2sp0pwZ:/work/Django-1.9.2/PPNotes# python manage.py runserver 0.0.0.0:8080

Performing system checks...
 
System check identified no issues (0 silenced). February 26, 2016 - 04:11:33 Django version 1.9.2, using settings 'PPNotes.settings' Starting development server at http://0.0.0.0:8080/ Quit the server with CONTROL-C. 

表示已经成功,下面我们用浏览器打开试试

OK,Django项目搭建成功。下面的步骤就是配置Mysql数据库。

四、Mysql的安装与配置。

4.1

Django默认的数据库是sqlite,我们可以看到项目文件夹下面有个自动生成的db.sqlite3文件。而我们是需要使用Mysql的。

4.2 

要让Django支持Mysql数据库,我们需要改一下配置文件settings.py(mysite/mysite目录下面)。知道DATABASES进行如下修改即可。

DATABASES = {

    'default': {

        'ENGINE': 'django.db.backends.mysql',

        'NAME': 数据库名,

        'USER': '用户名,

        'PASSWORD': '密码',

        'HOST': '127.0.0.1',

        'PORT': '',

    }

}

4.3

安装Mysql

sudo apt-get install mysql-server mysql-client

sudo apt-get install libmysqld-dev

在这个过程他会提示你输入root的密码并确认密码。

Django(Python)操作MySQL依赖第三方包,所以要先安装MySQL for Python

sudo apt-get install python-dev

wget https://pypi.python.org/packages/source/M/MySQL-python/MySQL-python-1.2.5.zip

解压MySQL-python-1.2.5.zip

cd MySQL-python-1.2.5/

sudo python setup.py install

4.4 

配置mysql远程访问权限(用户名密码自行修改)

GRANT ALL PRIVILEGES ON *.* TO '用户名'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;

FLUSH  PRIVILEGES;(配置立即生效)

这个时候我们还是无法远程连接Mysql,下面还得修改/etc/mysql/my.cnf文件;

将bind-address                  = 127.0.0.1中的IP地址修改为0.0.0.0

重启mysql

service mysql restart

OK,远程连接成功。

4.5

新建数据库

新建一个数据库,名字需要续我们前面配置Django中settings.py里面的DATABASES里面的数据库名一致。

4.6

再次执行python manage.py migrate

当我们看到新建的数据库中增加了如上所以的表,证明Mysql已经配置成功。

创建管理员账户

python manage.py createsuperuser

python manage.py runserver 0.0.0.0:8080

OK,大功告成。

五、附加启动脚本。start.sh

#!/bin/bash

cd /work/Django-1.9/PPNotes

nohup python manage.py runserver 0.0.0.0:8000  >/dev/null 2>&1 &

while true

do

#PIDS=`ps -ef |grep 8000 |grep -v grep | awk '{print $2}'`

num=`ps -ef|grep -v grep|grep 8000|wc -l`

if [ $num -eq 0 ];then

cd /work/Django-1.9/PPNotes

nohup python manage.py runserver 0.0.0.0:8000  >/dev/null 2>&1 &

fi

sleep 10

done

本文为博主原创文章,转载请注明出处

http://www.cnblogs.com/rencm/p/5220042.html

Ubuntu14.04 Django Mysql安装部署全过程的更多相关文章

  1. Ubuntu 14.04下Django+MySQL安装部署全过程

    一.简要步骤.(Ubuntu14.04) Python安装 Django Mysql的安装与配置 记录一下我的部署过程,也方便一些有需要的童鞋,大神勿喷~ 二.Python的安装 由于博主使用的环境是 ...

  2. 【转】Ubuntu 14.04下Django+MySQL安装部署全过程

    一.简要步骤.(阿里云Ubuntu14.04) Python安装 Django Mysql的安装与配置 记录一下我的部署过程,也方便一些有需要的童鞋,大神勿喷~ 二.Python的安装 由于博主使用的 ...

  3. Ubuntu14.04下Ambari安装搭建部署大数据集群(图文分五大步详解)(博主强烈推荐)

    不多说,直接上干货! 写在前面的话 (1) 最近一段时间,因担任我团队实验室的大数据环境集群真实物理机器工作,至此,本人秉持负责.认真和细心的态度,先分别在虚拟机上模拟搭建ambari(基于CentO ...

  4. Ubuntu14.04(64位)安装ATI_Radeon_R7_M265显卡驱动

    电脑型号:Dell inspiron 14-5447 笔记本 显卡配置:集成显卡Intel核心显卡,Cpu是i5-4210U;独立显卡ATI_Radeon_R7_M265 网上关于ATI/Intel双 ...

  5. ubuntu14.04下手动安装eclipse

    ubuntu14.04下手动安装eclipse 第一步: 安装jdk 第二步: 下载eclipse,假设下载的文件文件名为eclipse.tar.gz 第三步: 解压 sudo -zxvf ./ecl ...

  6. ubuntu14.04 下手动安装java jdk

    ubuntu14.04 下手动安装java jdk 第一步: 下载jdk.tar.gz (这里假设下载的文件名为jdk.tar.gz) 第二步: 解压 sudo tar -zxvf ./jdk.tar ...

  7. ubuntu14.04下编译安装ambari-2.4.2.0

    ubuntu14.04下编译安装ambari-2.4.2.0 编译前的准备工作 准备工作有: 系统参数 系统依赖(编译环境) 离线安装包 java环境 maven环境 Nodejs环境 git环境 a ...

  8. ubuntu14.04 64位 安装Tomcat

    ubuntu14.04 64位 安装Tomcat 1 下载Tomcat 在htt://www.tomcat.apache.org官网上下载apache-tomcat-7.0.57.tar.gz 2 解 ...

  9. ubuntu14.04 64位 安装eclipse

    ubuntu14.04 64位 安装eclipse 1 在官网上下载eclipse http://www.eclipse.org/downloads/下载eclipse-jee-luna-SR1-li ...

随机推荐

  1. Notes:indexedDB使用

    indexedDB是浏览器端保存结构化数据的一种数据库,类似于mysql,oracle等数据库,但indexedDB使用对象存储数据,而不是用表. indexedDB是全局的宿主对象,使用window ...

  2. web前端基础知识总结

    上个寒假总结的web前端的一些知识点给大家分享一下 1.<html>和</html> 标签限定了文档的开始和结束点. 属性: (1)  dir: 文本的显示方向,默认是从左向右 ...

  3. 【记录】ASP.NET MVC 4/5 Authentication 身份验证无效

    在 ASP.NET MVC 4/5 应用程序发布的时候,遇到一个问题,在本应用程序中进行身份验证是可以,但不能和其他"二级域名"共享,在其他应用程序身份验证,不能和本应用程序共享, ...

  4. weight属性你用的真的6嘛?

    相信大家在日常开发中一定使用过weight这个属性,它的作用一个是权重,另一个就是渲染优先级,但是你真的能很6的使用它嘛?如果不是,那么请继续往下看!!! 我们知道,当weight起到不同作用的时候, ...

  5. 如何在ios中集成微信登录功能

    在ios中集成微信的登录功能有两种方法 1 用微信原生的api来做,这样做的好处就是轻量级,程序负重小,在Build Settings 中这样设置 然后设置 友盟的设置同上,但是要注意,加入你需要的所 ...

  6. javascript URL实现简易书签

    简介 在HTML中,我们可以将js嵌入到script标签中,可以嵌入到行内代码中,也可以嵌入到src(href)中. 后者称作javascript URL.该方式的URL格式固定:javascript ...

  7. (十四)WebGIS中地图放大缩小的设计和实现

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/. 1.背景 在上一章中,我们给出了整个工具栏设计的核心,使用命令模式,并 ...

  8. ime-mode:disabled 关闭文本框输入法

    在用户输入数字的表单中,需要禁止用户输入中文.符号等,减少用户输入出错误的可能性,CSS可以实现此功能. ime-mode的语法解释如下: ime-mode : auto | active | ina ...

  9. jQuery-1.9.1源码分析系列(十) 事件系统——事件绑定

    事件绑定的方式有很多种.使用了jQuery那么原来那种绑定方式(elem.click = function(){...})就不推荐了,原因? 最主要的一个原因是elem.click = fn这种方式只 ...

  10. Django 1.10 中文文档------3.2.1 模型Models

    3.2.1 models模型 通常一个模型映射一张单独的数据表. 基本概念: 每个model都是django.db.models.Model的子类 model的每个属性代表数据表的某一列 Django ...