0.說明python
本文爲開源博客系統Blog_mini的官方部署文檔,經過本文的閱讀,你將能夠在一個全新的CentOS系統上徹底部署Blog_mini,從而成功架設屬於你的我的博客網站。mysql
這裏使用的操做系統爲:Ubuntu 15.10,理論上,只要操做系統上安裝的Python版本爲2.6.x或2.7.x,均可以成功部署Blog_mini。git
1.獲取Blog_mini源代碼
github
有如下兩種方式能夠獲取Blog_mini的源代碼:
sql
經過git的方式數據庫
經過Blog_mini項目主頁下載瀏覽器
咱們將介紹這兩種方法,實際中,你只須要選擇其中一種便可,咱們推薦第一種方法。
安全
(1)經過git獲取源代碼bash
首先確保你的系統已經安裝了git版本控制系統:服務器
xpleaf@leaf:~$ git version 程序「git」還沒有安裝。 您可使用如下命令安裝: sudo apt-get install git
若是尚未安裝,請經過apt-get方式安裝:
xpleaf@leaf:~$ sudo apt-get install git [sudo] xpleaf 的密碼:
安裝完成後,在用戶目錄中建立一個project的目錄:
xpleaf@leaf:~$ mkdir project xpleaf@leaf:~$ cd project/ xpleaf@leaf:~/project$
從Blog_mini項目地址中克隆源代碼:
xpleaf@leaf:~/project$ git clone https://github.com/xpleaf/Blog_mini
若是網絡狀況良好的話,很快就能夠把代碼克隆下來。
查看Blog_mini的源代碼目錄結構:
xpleaf@leaf:~/project/Blog_mini$ ls app LICENSE migrations README.md requirements.txt config.py manage.py Procfile requirements
(2)經過Blog_mini項目主頁下載源代碼
若是你想經過該方式得到Blog_mini的源碼的,那麼請最好在有GUI界面的操做系統中進行操做,好比你能夠先在Windows或Mac或有GUI界面的Linux操做系統中下載下來,再把它傳到咱們的CentOS操做系統中。
進入項目主頁:
https://github.com/xpleaf/Blog_mini
點擊Download ZIP按鈕
下載後的文件名應該是:Blog_mini-master.zip
下載完成後,將其解壓縮並傳到Ubuntu操做系統中便可,Blog_mini的源碼目錄結構下方式(1)的是同樣的。
2.安裝pip
執行下面的命令安裝便可:
xpleaf@leaf:~/project/Blog_mini$ sudo apt-get install python-pip
3.安裝virtualenv
執行下面的命令安裝便可:
xpleaf@leaf:~/project/Blog_mini$ sudo apt-get install virtualenv
若是上面的命令說找不到virtualenv的,就使用下面的命令:
xpleaf@leaf:~/project/Blog_mini$ sudo apt-get install python-virtualenv
4.建立虛擬環境venv
在Blog_mini目錄下執行下面的命令:
xpleaf@leaf:~/project/Blog_mini$ virtualenv venv Running virtualenv with interpreter /usr/bin/python2 New python executable in venv/bin/python2 Also creating executable in venv/bin/python Installing setuptools, pip...done.
能夠在Blog_mini下看到生成了一個venv目錄:
xpleaf@leaf:~/project/Blog_mini$ ls app LICENSE migrations README.md requirements.txt config.py manage.py Procfile requirements venv
5.激活虛擬環境venv
在Blog_mini目錄下:
xpleaf@leaf:~/project/Blog_mini$ source venv/bin/activate (venv)xpleaf@leaf:~/project/Blog_mini$
注意看提示符的改變。
6.安裝Blog_mini需求文件
執行以下命令:
(venv)xpleaf@leaf:~/project/Blog_mini$ pip install -i http://pypi.douban.com/simple/ -r requirements/common.txt
由於這裏要安裝Blog_mini所需的一些擴展包,因此須要必定時間,固然若是網絡良好的話,很快就能夠安裝完成。
來看這一步,除了數據庫的配置之外,Blog_mini的所有需求環境已經搭建好了,接下來要完成下面的兩個任何之一:
使用sqlite做爲默認數據庫來運行Blog_mini
使用MySQL做爲默認數據庫來運行Blog_mini
數據庫的使用只須要使用其中一種便可。
若是你是新手,或者你只是想快速搭建好基於Blog_mini的博客網站,你能夠選擇第一種,由於這不須要你作任何的配置。
若是你對MySQL的安裝與使用自己有比較多的瞭解,同時你也想得到更好的性能,能夠選擇第二種。
固然,下面我也會給出詳細的使用方法。
7.使用sqlite做爲默認數據庫來運行Blog_mini
Python自己就自帶了sqlite數據庫,所以若是你要使用sqlite來做爲默認數據庫,你不須要作任何配置。
接下來要作的就是運行Blog_mini了。
生成Blog_mini所須要的系統默認數據,請在Blog_mini目錄下執行下面的命令:
(venv)xpleaf@leaf:~/project/Blog_mini$ python manage.py deploy product INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running upgrade -> 051691f120e6, fit to MySQL
若是出現上面的提示就說明成功了!對於最後面出現的'fit to MySQL'你們不用以爲疑惑,這只是當時的一個備註,用來註明後面你要使用MySQL也是能夠的,沒有太大的意義。
查看生成的sqlite數據庫:
(venv)xpleaf@leaf:~/project/Blog_mini$ ls app config.pyc LICENSE migrations README.md requirements.txt config.py data.sqlite manage.py Procfile requirements venv
能夠看到多了一個data.sqlite文件,這個文件就是sqlite數據庫文件!
運行Blog_mini:
(venv)xpleaf@leaf:~/project/Blog_mini$ gunicorn manage:app [2016-03-08 11:49:11 +0000] [7189] [INFO] Starting gunicorn 19.4.5 [2016-03-08 11:49:11 +0000] [7189] [INFO] Listening at: http://127.0.0.1:8000 (7189) [2016-03-08 11:49:11 +0000] [7189] [INFO] Using worker: sync [2016-03-08 11:49:11 +0000] [7194] [INFO] Booting worker with pid: 7194
上面的提示就說明Blog_mini已經成功運行了!不過這樣的運行方式只能在本機以8000端口訪問,若是你的Ubuntu操做系統自己沒有GUI界面的話,你在本機也沒有辦法訪問,因此咱們能夠用下面的方式運行。
以80端口運行Blog_mini:
(venv)xpleaf@leaf:~/project/Blog_mini$ gunicorn -b 0.0.0.0:80 manage:app [2016-03-08 11:50:43 +0000] [7202] [INFO] Starting gunicorn 19.4.5 [2016-03-08 11:50:43 +0000] [7202] [INFO] Listening at: http://0.0.0.0:80 (7202) [2016-03-08 11:50:43 +0000] [7202] [INFO] Using worker: sync [2016-03-08 11:50:43 +0000] [7207] [INFO] Booting worker with pid: 7207
這樣的話:
若是你是在有公網IP地址的服務器部署Blog_mini的,只須要在互聯網上任何一臺主機的瀏覽器上輸入你的公網IP地址,就能夠訪問Blog_mini了。
若是你只是在局域網上部署Blog_mini的,那麼在局域網上的任何一臺主機的瀏覽器上輸入你這臺主機的IP地址也是能夠訪問的了。
不過,若是沒法訪問的話,那多是防火牆的問題,你能夠先把防火牆關掉:
xpleaf@leaf:~$ sudo ufw disable [sudo] xpleaf 的密碼:
由於博主最開始是學網絡工程出身的,因此你們若是在網絡通訊上遇到任何問題,均可以給我回復提問,我將一一解答。
到了這一步,你已是成功地把Blog_mini的服務器部署好了,接下來你就能夠運營你的我的博客網站了!Blog_mini功能強大,但使用很是簡單,你能夠參考博主關於Blog_mini介紹的博文來了解它的功能,固然你也能夠本身探索,相信這對你來講都很是容易!
須要注意的是,Blog_mini支持後臺管理(在主頁底欄有'後臺管理'登錄連接,點擊便可進入登錄頁面),下面是Blog_mini管理後臺的默認帳號密碼:
帳號:blog_mini@163.com
密碼:blog_mini
提示:在部署完Blog_mini後,裏面是沒有任何數據的,若是你須要必定的數據來測試Blog_mini的功能,能夠在完成上面的操做後執行下面的命令:
(venv)xpleaf@leaf:~/project/Blog_mini$ python manage.py deploy test_data
這將會生成100篇博文和700條評論,同時還有博文分類和系統導航,以方便你驗證Blog_mini的功能。
8.使用MySQL做爲默認數據庫來運行Blog_mini
(1)安裝與配置MySQL
這一點繼續第6步的操做,咱們將使用MySQL數據庫,在執行下面的步驟以前,請確保你的系統上已經安裝並配置了MySQL數據庫。若是你尚未安裝,而且不知道怎麼安裝,能夠有兩種方法:
經過apt-get方式安裝MySQL
經過源碼的方式安裝MySQL
第一種方法比較簡單,不過博主也專門寫了一篇博文來介紹使用yum安裝MySQL的過程。能夠查看這裏的地址:《在Ubuntu上使用apt-get安裝MySQL+安全優化》
第二種方法雖然步驟比較多,可是也很容易實現,博主爲此寫了一篇完整的博文,包括了完整安裝與配置MySQL的詳細方法和步驟:《在Ubuntu上源碼安裝MySQL+安裝問題解決+安全優化》
新手能夠直接使用第一種方法,固然以爲本身能夠接受挑戰的,也徹底可使用第二種方法!
MySQL的安裝與配置完成以後,接着作下面的操做。
(2)安裝Python的MySQL函數庫
安裝python必要的函數庫:
(venv)xpleaf@leaf:~/project/Blog_mini$ sudo apt-get install python-dev libmysqlclient-dev
安裝MySQL-python:
(venv)xpleaf@leaf:~/project/Blog_mini$ pip install MySQL-python …… Successfully installed MySQL-python Cleaning up...
注意查看有沒有安裝成功的信息。
(3)爲Blog_mini建立數據庫
退出虛擬環境,回到用戶主目錄中:
(venv)xpleaf@leaf:~/project/Blog_mini$ deactivate xpleaf@leaf:~/project/Blog_mini$ cd xpleaf@leaf:~$
登錄到MySQL數據庫中(請先確保MySQL服務已經開啓):
[root@leaf ~]# mysql -u root -p Enter password: mysql>
爲Blog_mini建立數據庫:
mysql> create database blog_mini default character set utf8 collate utf8_general_ci; Query OK, 1 row affected (0.04 sec) mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | blog_mini | | mysql | | performance_schema | +--------------------+ 4 rows in set (0.04 sec)
這裏咱們建立了名爲`blog_mini`的數據庫,同時指定編碼和字符集分別爲utf8和utf8_general_ic。
(4)建立數據庫路徑環境變量
Blog_mini的源碼中指定了讀取環境變量DATABASE_URL來獲取數據庫的路徑,所以咱們要爲系統設定一個名爲DATABASE_URL的環境變量,而且指定值爲MySQL數據庫的路徑。
設定系統環境變量:
xpleaf@leaf:~$ export DATABASE_URL=mysql://root:123456@127.0.0.1/blog_mini
這裏指定了使用的數據庫路徑爲:mysql://root:123456@127.0.0.1/blog_mini,其中123456是密碼,其它也很容易知道。
驗證系統環境變量:
xpleaf@leaf:~$ echo $DATABASE_URL mysql://root:123456@127.0.0.1/blog_mini
有上面的輸出即說明咱們的設置沒有問題。
(5)初始化Blog_mini系統默認數據
咱們首先要初始化Blog_mini所須要的系統默認數據,以確保後面Blog_mini可以正確運行。
進入project/Blog_mini目錄,初始化虛擬環境:
xpleaf@leaf:~$ cd project/Blog_mini/ xpleaf@leaf:~/project/Blog_mini$ source venv/bin/activate (venv)xpleaf@leaf:~/project/Blog_mini$
初始化Blog_mini系統默認數據:
(venv)xpleaf@leaf:~/project/Blog_mini$ python manage.py deploy product INFO [alembic.runtime.migration] Context impl MySQLImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running upgrade -> 051691f120e6, fit to MySQL
(6)運行Blog_mini
運行Blog_mini:
(venv)xpleaf@leaf:~/project/Blog_mini$ gunicorn manage:app [2016-03-08 11:49:11 +0000] [7189] [INFO] Starting gunicorn 19.4.5 [2016-03-08 11:49:11 +0000] [7189] [INFO] Listening at: http://127.0.0.1:8000 (7189) [2016-03-08 11:49:11 +0000] [7189] [INFO] Using worker: sync [2016-03-08 11:49:11 +0000] [7194] [INFO] Booting worker with pid: 7194
上面的提示就說明Blog_mini已經成功運行了!不過這樣的運行方式只能在本機以8000端口訪問,若是你的Ubuntu操做系統自己沒有GUI界面的話,你在本機也沒有辦法訪問,因此咱們能夠用下面的方式運行。
以80端口運行Blog_mini:
(venv)xpleaf@leaf:~/project/Blog_mini$ gunicorn -b 0.0.0.0:80 manage:app [2016-03-08 11:50:43 +0000] [7202] [INFO] Starting gunicorn 19.4.5 [2016-03-08 11:50:43 +0000] [7202] [INFO] Listening at: http://0.0.0.0:80 (7202) [2016-03-08 11:50:43 +0000] [7202] [INFO] Using worker: sync [2016-03-08 11:50:43 +0000] [7207] [INFO] Booting worker with pid: 7207
這樣的話:
若是你是在有公網IP地址的服務器部署Blog_mini的,只須要在互聯網上任何一臺主機的瀏覽器上輸入你的公網IP地址,就能夠訪問Blog_mini了。
若是你只是在局域網上部署Blog_mini的,那麼在局域網上的任何一臺主機的瀏覽器上輸入你這臺主機的IP地址也是能夠訪問的了。
不過,若是沒法訪問的話,那多是防火牆的問題,你能夠先把防火牆關掉:
xpleaf@leaf:~$ sudo ufw disable [sudo] xpleaf 的密碼:
由於博主最開始是學網絡工程出身的,因此你們若是在網絡通訊上遇到任何問題,均可以給我回復提問,我將一一解答。
到了這一步,你已是成功地把Blog_mini的服務器部署好了,接下來你就能夠運營你的我的博客網站了!Blog_mini功能強大,但使用很是簡單,你能夠參考博主關於Blog_mini介紹的博文來了解它的功能,固然你也能夠本身探索,相信這對你來講都很是容易!
須要注意的是,Blog_mini支持後臺管理(在主頁底欄有'後臺管理'登錄連接,點擊便可進入登錄頁面),下面是Blog_mini管理後臺的默認帳號密碼:
帳號:blog_mini@163.com
密碼:blog_mini
提示:在部署完Blog_mini後,裏面是沒有任何數據的,若是你須要必定的數據來測試Blog_mini的功能,能夠在完成上面的操做後執行下面的命令:
(venv) [root@leaf Blog_mini]# python manage.py deploy test_data
這將會生成100篇博文和700條評論,同時還有博文分類和系統導航,以方便你驗證Blog_mini的功能。
在Ubuntu上部署Blog_mini的文檔到這裏就結束了,若是你們在部署的過程當中出現什麼問題,請在博文下面給我留言,我將盡最大努力幫助你們!謝謝你們!