1.擷取Blog_mini源代碼
有以下兩種方式可以擷取Blog_mini的源代碼:
通過git的方式
通過Blog_mini項目首頁下載下傳
我們将介紹這兩種方法,實際中,你隻需要選擇其中一種即可,我們推薦第一種方法。
(1)通過git擷取源代碼
首先確定你的系統已經安裝了git版本控制系統:
1
2
3
<code>xpleaf@leaf:~$ git version</code>
<code>程式“git”尚未安裝。 您可以使用以下指令安裝:</code>
<code>sudo</code> <code>apt-get </code><code>install</code> <code>git</code>
如果還沒有安裝,請通過apt-get方式安裝:
<code>xpleaf@leaf:~$ </code><code>sudo</code> <code>apt-get </code><code>install</code> <code>git</code>
<code>[</code><code>sudo</code><code>] xpleaf 的密碼:</code>
安裝完成後,在使用者目錄中建立一個project的目錄:
<code>xpleaf@leaf:~$ </code><code>mkdir</code> <code>project</code>
<code>xpleaf@leaf:~$ </code><code>cd</code> <code>project/</code>
<code>xpleaf@leaf:~</code><code>/project</code><code>$</code>
從Blog_mini項目位址中克隆源代碼:
<code>xpleaf@leaf:~</code><code>/project</code><code>$ git clone https:</code><code>//github</code><code>.com</code><code>/xpleaf/Blog_mini</code>
如果網絡情況良好的話,很快就可以把代碼克隆下來。
檢視Blog_mini的源代碼目錄結構:
<code>xpleaf@leaf:~</code><code>/project/Blog_mini</code><code>$ </code><code>ls</code>
<code>app LICENSE migrations README.md requirements.txt</code>
<code>config.py manage.py Procfile requirements</code>
(2)通過Blog_mini項目首頁下載下傳源代碼
如果你想通過該方式獲得Blog_mini的源碼的,那麼請最好在有GUI界面的作業系統中進行操作,比如你可以先在Windows或Mac或有GUI界面的Linux作業系統中下載下傳下來,再把它傳到我們的CentOS作業系統中。
進入項目首頁:
<a href="https://github.com/xpleaf/Blog_mini" target="_blank">https://github.com/xpleaf/Blog_mini</a>
點選Download ZIP按鈕
下載下傳後的檔案名應該是:Blog_mini-master.zip
下載下傳完成後,将其解壓縮并傳到Ubuntu作業系統中即可,Blog_mini的源碼目錄結構下方式(1)的是一樣的。
2.安裝pip
執行下面的指令安裝即可:
<code>xpleaf@leaf:~</code><code>/project/Blog_mini</code><code>$ </code><code>sudo</code> <code>apt-get </code><code>install</code> <code>python-pip</code>
3.安裝virtualenv
<code>xpleaf@leaf:~</code><code>/project/Blog_mini</code><code>$ </code><code>sudo</code> <code>apt-get </code><code>install</code> <code>virtualenv</code>
如果上面的指令說找不到virtualenv的,就使用下面的指令:
<code>xpleaf@leaf:~</code><code>/project/Blog_mini</code><code>$ </code><code>sudo</code> <code>apt-get </code><code>install</code> <code>python-virtualenv</code>
4.建立虛拟環境venv
在Blog_mini目錄下執行下面的指令:
4
5
<code>xpleaf@leaf:~</code><code>/project/Blog_mini</code><code>$ virtualenv venv</code>
<code>Running virtualenv with interpreter </code><code>/usr/bin/python2</code>
<code>New python executable </code><code>in</code> <code>venv</code><code>/bin/python2</code>
<code>Also creating executable </code><code>in</code> <code>venv</code><code>/bin/python</code>
<code>Installing setuptools, pip...</code><code>done</code><code>.</code>
可以在Blog_mini下看到生成了一個venv目錄:
<code>config.py manage.py Procfile requirements venv</code>
5.激活虛拟環境venv
在Blog_mini目錄下:
<code>xpleaf@leaf:~</code><code>/project/Blog_mini</code><code>$ </code><code>source</code> <code>venv</code><code>/bin/activate</code>
<code>(venv)xpleaf@leaf:~</code><code>/project/Blog_mini</code><code>$</code>
注意看提示符的改變。
6.安裝Blog_mini需求檔案
執行如下指令:
<code>(venv)xpleaf@leaf:~</code><code>/project/Blog_mini</code><code>$ pip </code><code>install</code> <code>-i http:</code><code>//pypi</code><code>.douban.com</code><code>/simple/</code> <code>-r requirements</code><code>/common</code><code>.txt</code>
因為這裡要安裝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目錄下執行下面的指令:
<code>(venv)xpleaf@leaf:~</code><code>/project/Blog_mini</code><code>$ python manage.py deploy product</code>
<code>INFO [alembic.runtime.migration] Context impl SQLiteImpl.</code>
<code>INFO [alembic.runtime.migration] Will assume non-transactional DDL.</code>
<code>INFO [alembic.runtime.migration] Running upgrade -> 051691f120e6, fit to MySQL</code>
如果出現上面的提示就說明成功了!對于最後面出現的'fit to MySQL'大家不用覺得疑惑,這隻是當時的一個備注,用來注明後面你要使用MySQL也是可以的,沒有太大的意義。
檢視生成的sqlite資料庫:
<code>(venv)xpleaf@leaf:~</code><code>/project/Blog_mini</code><code>$ </code><code>ls</code>
<code>app config.pyc LICENSE migrations README.md requirements.txt</code>
<code>config.py data.sqlite manage.py Procfile requirements venv</code>
可以看到多了一個data.sqlite檔案,這個檔案就是sqlite資料庫檔案!
運作Blog_mini:
<code>(venv)xpleaf@leaf:~</code><code>/project/Blog_mini</code><code>$ gunicorn manage:app</code>
<code>[2016-03-08 11:49:11 +0000] [7189] [INFO] Starting gunicorn 19.4.5</code>
<code>[2016-03-08 11:49:11 +0000] [7189] [INFO] Listening at: http:</code><code>//127</code><code>.0.0.1:8000 (7189)</code>
<code>[2016-03-08 11:49:11 +0000] [7189] [INFO] Using worker: </code><code>sync</code>
<code>[2016-03-08 11:49:11 +0000] [7194] [INFO] Booting worker with pid: 7194</code>
上面的提示就說明Blog_mini已經成功運作了!不過這樣的運作方式隻能在本機以8000端口通路,如果你的Ubuntu作業系統本身沒有GUI界面的話,你在本機也沒有辦法通路,是以我們可以用下面的方式運作。
以80端口運作Blog_mini:
<code>(venv)xpleaf@leaf:~</code><code>/project/Blog_mini</code><code>$ gunicorn -b 0.0.0.0:80 manage:app</code>
<code>[2016-03-08 11:50:43 +0000] [7202] [INFO] Starting gunicorn 19.4.5</code>
<code>[2016-03-08 11:50:43 +0000] [7202] [INFO] Listening at: http:</code><code>//0</code><code>.0.0.0:80 (7202)</code>
<code>[2016-03-08 11:50:43 +0000] [7202] [INFO] Using worker: </code><code>sync</code>
<code>[2016-03-08 11:50:43 +0000] [7207] [INFO] Booting worker with pid: 7207</code>
這樣的話:
如果你是在有公網IP位址的伺服器部署Blog_mini的,隻需要在網際網路上任何一台主機的浏覽器上輸入你的公網IP位址,就可以通路Blog_mini了。
如果你隻是在區域網路上部署Blog_mini的,那麼在區域網路上的任何一台主機的浏覽器上輸入你這台主機的IP位址也是可以通路的了。
不過,如果無法通路的話,那可能是防火牆的問題,你可以先把防火牆關掉:
<code>xpleaf@leaf:~$ </code><code>sudo</code> <code>ufw disable</code>
因為部落客最開始是學網絡工程出身的,是以大家如果在網絡通信上遇到任何問題,都可以給我回複提問,我将一一解答。
到了這一步,你已經是成功地把Blog_mini的伺服器部署好了,接下來你就可以營運你的個人部落格網站了!Blog_mini功能強大,但使用非常簡單,你可以參考部落客關于Blog_mini介紹的博文來了解它的功能,當然你也可以自己探索,相信這對你來說都非常容易!
需要注意的是,Blog_mini支援背景管理(在首頁底欄有'背景管理'登陸連結,點選即可進入登陸頁面),下面是Blog_mini管理背景的預設賬号密碼:
密碼:blog_mini
提示:在部署完Blog_mini後,裡面是沒有任何資料的,如果你需要一定的資料來測試Blog_mini的功能,可以在完成上面的操作後執行下面的指令:
<code>(venv)xpleaf@leaf:~</code><code>/project/Blog_mini</code><code>$ python manage.py deploy test_data</code>
這将會生成100篇博文和700條評論,同時還有博文分類和系統導航,以友善你驗證Blog_mini的功能。
8.使用MySQL作為預設資料庫來運作Blog_mini
(1)安裝與配置MySQL
這一點繼續第6步的操作,我們将使用MySQL資料庫,在執行下面的步驟之前,請確定你的系統上已經安裝并配置了MySQL資料庫。如果你還沒有安裝,并且不知道怎麼安裝,可以有兩種方法:
通過apt-get方式安裝MySQL
通過源碼的方式安裝MySQL
新手可以直接使用第一種方法,當然覺得自己可以接受挑戰的,也完全可以使用第二種方法!
MySQL的安裝與配置完成之後,接着做下面的操作。
(2)安裝Python的MySQL函數庫
安裝python必要的函數庫:
<code>(venv)xpleaf@leaf:~</code><code>/project/Blog_mini</code><code>$ </code><code>sudo</code> <code>apt-get </code><code>install</code> <code>python-dev libmysqlclient-dev</code>
安裝MySQL-python:
<code>(venv)xpleaf@leaf:~</code><code>/project/Blog_mini</code><code>$ pip </code><code>install</code> <code>MySQL-python</code>
<code>……</code>
<code>Successfully installed MySQL-python</code>
<code>Cleaning up...</code>
注意檢視有沒有安裝成功的資訊。
(3)為Blog_mini建立資料庫
退出虛拟環境,回到使用者主目錄中:
<code>(venv)xpleaf@leaf:~</code><code>/project/Blog_mini</code><code>$ deactivate </code>
<code>xpleaf@leaf:~</code><code>/project/Blog_mini</code><code>$ </code><code>cd</code>
<code>xpleaf@leaf:~$</code>
登陸到MySQL資料庫中(請先確定MySQL服務已經開啟):
<code>[root@leaf ~]</code><code># mysql -u root -p</code>
<code>Enter password: </code>
<code>mysql></code>
為Blog_mini建立資料庫:
6
7
8
9
10
11
12
13
<code>mysql> create database blog_mini default character </code><code>set</code> <code>utf8 collate utf8_general_ci;</code>
<code>Query OK, 1 row affected (0.04 sec)</code>
<code>mysql> show databases;</code>
<code>+--------------------+</code>
<code>| Database |</code>
<code>| information_schema |</code>
<code>| blog_mini |</code>
<code>| mysql |</code>
<code>| performance_schema |</code>
<code>4 rows </code><code>in</code> <code>set</code> <code>(0.04 sec)</code>
這裡我們建立了名為`blog_mini`的資料庫,同時指定編碼和字元集分别為utf8和utf8_general_ic。
(4)建立資料庫路徑環境變量
Blog_mini的源碼中指定了讀取環境變量DATABASE_URL來擷取資料庫的路徑,是以我們要為系統設定一個名為DATABASE_URL的環境變量,并且指定值為MySQL資料庫的路徑。
設定系統環境變量:
<code>xpleaf@leaf:~$ </code><code>export</code> <code>DATABASE_URL=mysql:</code><code>//root</code><code>:[email protected]</code><code>/blog_mini</code>
這裡指定了使用的資料庫路徑為:mysql://root:[email protected]/blog_mini,其中123456是密碼,其它也很容易知道。
驗證系統環境變量:
<code>xpleaf@leaf:~$ </code><code>echo</code> <code>$DATABASE_URL</code>
<code>mysql:</code><code>//root</code><code>:[email protected]</code><code>/blog_mini</code>
有上面的輸出即說明我們的設定沒有問題。
(5)初始化Blog_mini系統預設資料
我們首先要初始化Blog_mini所需要的系統預設資料,以確定後面Blog_mini能夠正确運作。
進入project/Blog_mini目錄,初始化虛拟環境:
<code>xpleaf@leaf:~$ </code><code>cd</code> <code>project</code><code>/Blog_mini/</code>
初始化Blog_mini系統預設資料:
<code>(venv)xpleaf@leaf:~</code><code>/project/Blog_mini</code><code>$ python manage.py deploy product </code>
<code>INFO [alembic.runtime.migration] Context impl MySQLImpl.</code>
(6)運作Blog_mini
<code>(venv) [root@leaf Blog_mini]</code><code># python manage.py deploy test_data</code>
在Ubuntu上部署Blog_mini的文檔到這裡就結束了,如果大家在部署的過程中出現什麼問題,請在博文下面給我留言,我将盡最大努力幫助大家!謝謝大家!
本文轉自 xpleaf 51CTO部落格,原文連結:http://blog.51cto.com/xpleaf/1748707,如需轉載請自行聯系原作者