歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

在Ubuntu上部署開源博客系統Blog_mini

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管理後台的默認賬號密碼:

賬號:[email protected]

密碼: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管理後台的默認賬號密碼:

賬號:[email protected]

密碼:blog_mini

提示:在部署完Blog_mini後,裡面是沒有任何數據的,如果你需要一定的數據來測試Blog_mini的功能,可以在完成上面的操作後執行下面的命令:

(venv)[root@leafBlog_mini]#pythonmanage.pydeploytest_data

這將會生成100篇博文和700條評論,同時還有博文分類和系統導航,以方便你驗證Blog_mini的功能。

Copyright © Linux教程網 All Rights Reserved