0.說明
本文為開源博客系統Blog_mini的官方部署文檔,通過本文的閱讀,你將可以在一個全新的CentOS系統上完全部署Blog_mini,從而成功架設屬於你的個人博客網站。
這裡使用的操作系統為:Ubuntu 15.10,理論上,只要操作系統上安裝的Python版本為2.6.x或2.7.x,都可以成功部署Blog_mini。
1.獲取Blog_mini源代碼
有以下兩種方式可以獲取Blog_mini的源代碼:
通過git的方式
通過Blog_mini項目主頁下載
我們將介紹這兩種方法,實際中,你只需要選擇其中一種即可,我們推薦第一種方法。
(1)通過git獲取源代碼
首先確保你的系統已經安裝了git版本控制系統:
xpleaf@leaf:~$gitversion 程序“git”尚未安裝。您可以使用以下命令安裝: sudoapt-getinstallgit
如果還沒有安裝,請通過apt-get方式安裝:
xpleaf@leaf:~$sudoapt-getinstallgit [sudo]xpleaf的密碼:
安裝完成後,在用戶目錄中創建一個project的目錄:
xpleaf@leaf:~$mkdirproject xpleaf@leaf:~$cdproject/ xpleaf@leaf:~/project$
從Blog_mini項目地址中克隆源代碼:
xpleaf@leaf:~/project$gitclonehttps://github.com/xpleaf/Blog_mini
如果網絡情況良好的話,很快就可以把代碼克隆下來。
查看Blog_mini的源代碼目錄結構:
xpleaf@leaf:~/project/Blog_mini$ls appLICENSEmigrationsREADME.mdrequirements.txt config.pymanage.pyProcfilerequirements
(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$sudoapt-getinstallpython-pip
3.安裝virtualenv
執行下面的命令安裝即可:
xpleaf@leaf:~/project/Blog_mini$sudoapt-getinstallvirtualenv
如果上面的命令說找不到virtualenv的,就使用下面的命令:
xpleaf@leaf:~/project/Blog_mini$sudoapt-getinstallpython-virtualenv
4.創建虛擬環境venv
在Blog_mini目錄下執行下面的命令:
xpleaf@leaf:~/project/Blog_mini$virtualenvvenv Runningvirtualenvwithinterpreter/usr/bin/python2 Newpythonexecutableinvenv/bin/python2 Alsocreatingexecutableinvenv/bin/python Installingsetuptools,pip...done.
可以在Blog_mini下看到生成了一個venv目錄:
xpleaf@leaf:~/project/Blog_mini$ls appLICENSEmigrationsREADME.mdrequirements.txt config.pymanage.pyProcfilerequirementsvenv
5.激活虛擬環境venv
在Blog_mini目錄下:
xpleaf@leaf:~/project/Blog_mini$sourcevenv/bin/activate (venv)xpleaf@leaf:~/project/Blog_mini$
注意看提示符的改變。
6.安裝Blog_mini需求文件
執行如下命令:
(venv)xpleaf@leaf:~/project/Blog_mini$pipinstall-rrequirements/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$pythonmanage.pydeployproduct INFO[alembic.runtime.migration]ContextimplSQLiteImpl. INFO[alembic.runtime.migration]Willassumenon-transactionalDDL. INFO[alembic.runtime.migration]Runningupgrade->051691f120e6,fittoMySQL
如果出現上面的提示就說明成功了!對於最後面出現的'fit to MySQL'大家不用覺得疑惑,這只是當時的一個備注,用來注明後面你要使用MySQL也是可以的,沒有太大的意義。
查看生成的sqlite數據庫:
(venv)xpleaf@leaf:~/project/Blog_mini$ls appconfig.pycLICENSEmigrationsREADME.mdrequirements.txt config.pydata.sqlitemanage.pyProcfilerequirementsvenv
可以看到多了一個data.sqlite文件,這個文件就是sqlite數據庫文件!
運行Blog_mini:
(venv)xpleaf@leaf:~/project/Blog_mini$gunicornmanage:app [2016-03-0811:49:11+0000][7189][INFO]Startinggunicorn19.4.5 [2016-03-0811:49:11+0000][7189][INFO]Listeningat:http://127.0.0.1:8000(7189) [2016-03-0811:49:11+0000][7189][INFO]Usingworker:sync [2016-03-0811:49:11+0000][7194][INFO]Bootingworkerwithpid:7194
上面的提示就說明Blog_mini已經成功運行了!不過這樣的運行方式只能在本機以8000端口訪問,如果你的Ubuntu操作系統本身沒有GUI界面的話,你在本機也沒有辦法訪問,所以我們可以用下面的方式運行。
以80端口運行Blog_mini:
(venv)xpleaf@leaf:~/project/Blog_mini$gunicorn-b0.0.0.0:80manage:app [2016-03-0811:50:43+0000][7202][INFO]Startinggunicorn19.4.5 [2016-03-0811:50:43+0000][7202][INFO]Listeningat:http://0.0.0.0:80(7202) [2016-03-0811:50:43+0000][7202][INFO]Usingworker:sync [2016-03-0811:50:43+0000][7207][INFO]Bootingworkerwithpid:7207
這樣的話:
如果你是在有公網IP地址的服務器部署Blog_mini的,只需要在互聯網上任何一台主機的浏覽器上輸入你的公網IP地址,就可以訪問Blog_mini了。
如果你只是在局域網上部署Blog_mini的,那麼在局域網上的任何一台主機的浏覽器上輸入你這台主機的IP地址也是可以訪問的了。
不過,如果無法訪問的話,那可能是防火牆的問題,你可以先把防火牆關掉:
xpleaf@leaf:~$sudoufwdisable [sudo]xpleaf的密碼:
因為博主最開始是學網絡工程出身的,所以大家如果在網絡通信上遇到任何問題,都可以給我回復提問,我將一一解答。
到了這一步,你已經是成功地把Blog_mini的服務器部署好了,接下來你就可以運營你的個人博客網站了!Blog_mini功能強大,但使用非常簡單,你可以參考博主關於Blog_mini介紹的博文來了解它的功能,當然你也可以自己探索,相信這對你來說都非常容易!
需要注意的是,Blog_mini支持後台管理(在主頁底欄有'後台管理'登陸鏈接,點擊即可進入登陸頁面),下面是Blog_mini管理後台的默認賬號密碼:
密碼:blog_mini
提示:在部署完Blog_mini後,裡面是沒有任何數據的,如果你需要一定的數據來測試Blog_mini的功能,可以在完成上面的操作後執行下面的命令:
(venv)xpleaf@leaf:~/project/Blog_mini$pythonmanage.pydeploytest_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$sudoapt-getinstallpython-devlibmysqlclient-dev
安裝MySQL-python:
(venv)xpleaf@leaf:~/project/Blog_mini$pipinstallMySQL-python …… SuccessfullyinstalledMySQL-python Cleaningup...
注意查看有沒有安裝成功的信息。
(3)為Blog_mini創建數據庫
退出虛擬環境,回到用戶主目錄中:
(venv)xpleaf@leaf:~/project/Blog_mini$deactivate xpleaf@leaf:~/project/Blog_mini$cd xpleaf@leaf:~$
登陸到MySQL數據庫中(請先確保MySQL服務已經開啟):
[root@leaf~]#mysql-uroot-p Enterpassword: mysql>
為Blog_mini創建數據庫:
mysql>createdatabaseblog_minidefaultcharactersetutf8collateutf8_general_ci; QueryOK,1rowaffected(0.04sec) mysql>showdatabases; +--------------------+ |Database| +--------------------+ |information_schema| |blog_mini| |mysql| |performance_schema| +--------------------+ 4rowsinset(0.04sec)
這裡我們創建了名為`blog_mini`的數據庫,同時指定編碼和字符集分別為utf8和utf8_general_ic。
(4)創建數據庫路徑環境變量
Blog_mini的源碼中指定了讀取環境變量DATABASE_URL來獲取數據庫的路徑,因此我們要為系統設定一個名為DATABASE_URL的環境變量,並且指定值為MySQL數據庫的路徑。
設定系統環境變量:
xpleaf@leaf:~$exportDATABASE_URL=mysql://root:[email protected]/blog_mini
這裡指定了使用的數據庫路徑為:mysql://root:[email protected]/blog_mini,其中123456是密碼,其它也很容易知道。
驗證系統環境變量:
xpleaf@leaf:~$echo$DATABASE_URL mysql://root:[email protected]/blog_mini
有上面的輸出即說明我們的設置沒有問題。
(5)初始化Blog_mini系統默認數據
我們首先要初始化Blog_mini所需要的系統默認數據,以確保後面Blog_mini能夠正確運行。
進入project/Blog_mini目錄,初始化虛擬環境:
xpleaf@leaf:~$cdproject/Blog_mini/ xpleaf@leaf:~/project/Blog_mini$sourcevenv/bin/activate (venv)xpleaf@leaf:~/project/Blog_mini$
初始化Blog_mini系統默認數據:
(venv)xpleaf@leaf:~/project/Blog_mini$pythonmanage.pydeployproduct INFO[alembic.runtime.migration]ContextimplMySQLImpl. INFO[alembic.runtime.migration]Willassumenon-transactionalDDL. INFO[alembic.runtime.migration]Runningupgrade->051691f120e6,fittoMySQL
(6)運行Blog_mini
運行Blog_mini:
(venv)xpleaf@leaf:~/project/Blog_mini$gunicornmanage:app [2016-03-0811:49:11+0000][7189][INFO]Startinggunicorn19.4.5 [2016-03-0811:49:11+0000][7189][INFO]Listeningat:http://127.0.0.1:8000(7189) [2016-03-0811:49:11+0000][7189][INFO]Usingworker:sync [2016-03-0811:49:11+0000][7194][INFO]Bootingworkerwithpid:7194
上面的提示就說明Blog_mini已經成功運行了!不過這樣的運行方式只能在本機以8000端口訪問,如果你的Ubuntu操作系統本身沒有GUI界面的話,你在本機也沒有辦法訪問,所以我們可以用下面的方式運行。
以80端口運行Blog_mini:
(venv)xpleaf@leaf:~/project/Blog_mini$gunicorn-b0.0.0.0:80manage:app [2016-03-0811:50:43+0000][7202][INFO]Startinggunicorn19.4.5 [2016-03-0811:50:43+0000][7202][INFO]Listeningat:http://0.0.0.0:80(7202) [2016-03-0811:50:43+0000][7202][INFO]Usingworker:sync [2016-03-0811:50:43+0000][7207][INFO]Bootingworkerwithpid:7207
這樣的話:
如果你是在有公網IP地址的服務器部署Blog_mini的,只需要在互聯網上任何一台主機的浏覽器上輸入你的公網IP地址,就可以訪問Blog_mini了。
如果你只是在局域網上部署Blog_mini的,那麼在局域網上的任何一台主機的浏覽器上輸入你這台主機的IP地址也是可以訪問的了。
不過,如果無法訪問的話,那可能是防火牆的問題,你可以先把防火牆關掉:
xpleaf@leaf:~$sudoufwdisable [sudo]xpleaf的密碼:
因為博主最開始是學網絡工程出身的,所以大家如果在網絡通信上遇到任何問題,都可以給我回復提問,我將一一解答。
到了這一步,你已經是成功地把Blog_mini的服務器部署好了,接下來你就可以運營你的個人博客網站了!Blog_mini功能強大,但使用非常簡單,你可以參考博主關於Blog_mini介紹的博文來了解它的功能,當然你也可以自己探索,相信這對你來說都非常容易!
需要注意的是,Blog_mini支持後台管理(在主頁底欄有'後台管理'登陸鏈接,點擊即可進入登陸頁面),下面是Blog_mini管理後台的默認賬號密碼:
密碼:blog_mini
提示:在部署完Blog_mini後,裡面是沒有任何數據的,如果你需要一定的數據來測試Blog_mini的功能,可以在完成上面的操作後執行下面的命令:
(venv)[root@leafBlog_mini]#pythonmanage.pydeploytest_data
這將會生成100篇博文和700條評論,同時還有博文分類和系統導航,以方便你驗證Blog_mini的功能。