首頁 > 軟體

Ubuntu 14.04下Django+MySQL安裝部署全過程

2020-06-16 17:45:57

一、簡要步驟。(阿里雲Ubuntu14.04)

  記錄一下我的部署過程,也方便一些有需要的童鞋,大神勿噴~

二、Python的安裝

由於博主使用的環境是Ubuntu14.04,所以系統自帶了Python2.7.6。

我們可以使用Python –V檢視自己Ubuntu中的Python版本。

 

三、Django

1、現在Django的版本已經到1.9.2了。我們可以到官網去下載,然後解壓安裝。

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

這裡已經下載好了

 

2、解壓安裝

1
tar xzvf Django-1.9.2.tar.gz
1
cd Django-1.9.2/
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.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伺服器。

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': 資料庫名, 
        'USER': '使用者名稱,
        '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 


IT145.com E-mail:sddin#qq.com