zoukankan      html  css  js  c++  java
  • Ubuntu 14.04下Django+MySQL安装部署全过程

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

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

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

    二、Python的安装

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

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

     

    三、Django

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

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

    这里已经下载好了

     

    2、解压安装

    1
    tar xzvf Django-1.10.1.tar.gz
    1
    cd Django-1.10.1/
    1
    sudo python setup.py install

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

    Python2.x:

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

    Python 3.x

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

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

    1
    sudo python setup.py install

     

    安装成功。

    3、搭建项目

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

    django-admin.py startproject PPNotes

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

    root@iZ94a2sp0pwZ:/work/Django-1.10.1# 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时使用

    4、启动Django

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

    1
    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的安装与配置。

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

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

    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql',
            'NAME': 'ppnotes', 
            'USER': 'root',
            'PASSWORD': '密码', 
            'HOST': '127.0.0.1',
            'PORT': '3306',
        }
    }

    3、  安装Mysql

    1
    sudo apt-get install mysql-server mysql-client
    1
    sudo apt-get install libmysqld-dev

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

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

    1
    sudo apt-get install python-dev
    1
    wget https://pypi.python.org/packages/source/M/MySQL-python/MySQL-python-1.2.5.zip
    1
    解压MySQL-python-1.2.5.zip
    1
    cd MySQL-python-1.2.5/
    1
    sudo python setup.py install

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

    ?
    1
    2
    3
    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

    1
    service mysql restart

    OK,远程连接成功。

    5、  新建数据库

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

    6、  再次执行python manage.py migrate

     

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

    创建管理员账户

    1
    python manage.py createsuperuser
     
    1
    python manage.py runserver 0.0.0.0:8080

     

    OK,大功告成。

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

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    #!/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

    Django1.8返回json字符串和接收post的json字符串内容  http://www.linuxidc.com/Linux/2015-07/120226.htm

    如何使用 Docker 组件开发 Django 项目?  http://www.linuxidc.com/Linux/2015-07/119961.htm

    Ubuntu Server 12.04 安装Nginx+uWSGI+Django环境 http://www.linuxidc.com/Linux/2012-05/60639.htm 

    Django+Nginx+uWSGI 部署 http://www.linuxidc.com/Linux/2013-02/79862.htm 

    Django实战教程 http://www.linuxidc.com/Linux/2013-09/90277.htm 

    Django Python MySQL Linux 开发环境搭建 http://www.linuxidc.com/Linux/2013-09/90638.htm 

    Django 的详细介绍请点这里
    Django 的下载地址请点这里

    更多Ubuntu相关信息见Ubuntu 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=2

  • 相关阅读:
    BIO、NIO、AIO有什么区别?
    java中IO流有哪些?
    List、Map、Set 三个接口,存取元素时,各有什么特点?
    Vector、ArrayList、LinkedList 的存储性能和特性?
    Java.util.Map的常用实现类有哪些?
    Java自学指南六、查一手资料
    虚拟机中Lvs配置
    m2014-software->Word2010发布博客文章至Cnblogs
    m2014-c->c模拟java的hashmap容器类
    m2014_c->c语言容器类工具列
  • 原文地址:https://www.cnblogs.com/stragon/p/5807298.html
Copyright © 2011-2022 走看看