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

作者:rencm  来源:IT165收集  发布日期:2016-02-26 22:01:53

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

  Python安装   Django   Mysql的安装与配置

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

二、Python的安装

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

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

 

三、Django

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

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

这里已经下载好了

 

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、搭建项目

要创建一个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时使用

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

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

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

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 数据库名, 
        'USER': '用户名,
        'PASSWORD': '密码', 
        'HOST': '127.0.0.1',
        'PORT': '3306',
    }
}

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、  配置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,远程连接成功。

5、  新建数据库

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

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

Tag标签: 全过程  
  • 专题推荐

About IT165 - 广告服务 - 隐私声明 - 版权申明 - 免责条款 - 网站地图 - 网友投稿 - 联系方式
本站内容来自于互联网,仅供用于网络技术学习,学习中请遵循相关法律法规