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項目。裡面的檔案如下所示:
[email protected]:/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
[email protected]:/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 ': ' 3306 ',
}
}
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
轉載于:https://www.cnblogs.com/rencm/p/5220042.html