在安卓上部署伺服器 - 部署腳本和博客

本系列其他文章:

0. 在安卓上部署伺服器

1. 在安卓上部署伺服器 - 應用程序的配置

2. 在安卓上部署伺服器 - 解決內網穿透問題

3. 在安卓上部署伺服器 - 部署腳本和博客

0.說明

本文只介紹最簡單的配置,詳細配置見作者博客。

這裡使用的操作系統為:Ubuntu 15.10,理論上,只要操作系統上安裝的Python版本為2.6.x或2.7.x,都可以成功部署Blog_mini。

1.獲取Blog_mini源代碼

有以下兩種方式可以獲取Blog_mini的源代碼:

=>通過git的方式

=>通過Blog_mini項目主頁下載

下載完成後,將其解壓縮並傳到Ubuntu操作系統中即可

2.安裝python和pip

執行下面的命令安裝即可:

ZKeeer@localhost:~/project/Blog_mini$ sudo apt-get install python

ZKeeer@localhost:~/project/Blog_mini$ sudo apt-get install python-pip

3.安裝virtualenv

執行下面的命令安裝即可:

ZKeeer@localhost:~/project/Blog_mini$sudo apt-get install virtualenv

如果上面的命令說找不到virtualenv的,就使用下面的命令:

ZKeeer@localhost:~/project/Blog_mini$ sudo apt-get install python-virtualenv

4.創建虛擬環境venv

在Blog_mini目錄下執行下面的命令:

ZKeeer@localhost:~/project/Blog_mini$virtualenv venv

Running virtualenv withinterpreter /usr/bin/python2

New python executable invenv/bin/python2

Also creating executable invenv/bin/python

Installing setuptools, pip...done.

可以在Blog_mini下看到生成了一個venv目錄:

ZKeeer@localhost:~/project/Blog_mini$ls

app LICENSE migrations README.mdrequirements.txt

config.py manage.py Procfile requirementsvenv

5.激活虛擬環境venv

在Blog_mini目錄下:

ZKeeer@localhost:~/project/Blog_mini$source venv/bin/activate

(venv)ZKeeer@localhost:~/project/Blog_mini$

6.安裝Blog_mini需求文件

執行如下命令:

(venv)ZKeeer@localhost:~/project/Blog_mini$pip install -r requirements/common.txt

因為這裡要安裝Blog_mini所需的一些擴展包,所以需要一定時間,當然如果網路良好的話,很快就可以安裝完成。

來看這一步,除了資料庫的配置以外,Blog_mini的全部需求環境已經搭建好了,接下來要完成下面的兩個任何之一:

· =>使用sqlite作為默認資料庫來運行Blog_mini

· =>使用MySQL作為默認資料庫來運行Blog_mini

資料庫的使用只需要使用其中一種即可。

為了測試,選用了sqlite,其他詳細配置參考作者博客

7.使用sqlite作為默認資料庫來運行Blog_mini

Python本身就自帶了sqlite資料庫,因此如果你要使用sqlite來作為默認資料庫,你不需要做任何配置。

接下來要做的就是運行Blog_mini了。

· 生成Blog_mini所需要的系統默認數據,請在Blog_mini目錄下執行下面的命令:

(venv)ZKeeer@localhost:~/project/Blog_mini$python manage.py deploy product

INFO [alembic.runtime.migration] Context implSQLiteImpl.

INFO [alembic.runtime.migration] Will assumenon-transactional DDL.

INFO [alembic.runtime.migration] Running upgrade -> 051691f120e6, fit to MySQL

如果出現上面的提示就說明成功了!對於最後面出現的fit to MySQL大家不用覺得疑惑,這只是當時的一個備註,用來註明後面你要使用MySQL也是可以的,沒有太大的意義。

運行Blog_mini:

(venv)ZKeeer@localhost:~/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: 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] Bootingworker with pid: 7194

上面的提示就說明Blog_mini已經成功運行了!不過這樣的運行方式只能在本機以8000埠訪問,如果你的Ubuntu操作系統本身沒有GUI界面的話,你在本機也沒有辦法訪問,所以我們可以用下面的方式運行。

以80埠運行Blog_mini:

(venv)ZKeeer@localhost:~/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: 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] Bootingworker with pid: 7207

不過,如果無法訪問的話,那可能是防火牆的問題,你可以先把防火牆關掉:

ZKeeer@localhost:~$ sudo ufwdisable

[sudo] ZKeeer 的密碼:

到了這一步,你已經是成功地把Blog_mini的伺服器部署好了。

Blog_mini支持後台管理(在主頁底欄有後台管理登陸鏈接,點擊即可進入登陸頁面),下面是Blog_mini管理後台的默認賬號密碼:

賬號:blog_mini@163.com

密碼:blog_mini

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

(venv)xpleaf@leaf:~/project/Blog_mini$ python manage.pydeploy test_data

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

參考文章及資料:

代碼地址:xpleaf/Blog_mini

部署地址:Blog_mini完整部署文檔 - 香飄葉子 - 51CTO技術博客

試用地址:115.159.72.250:8080

帳號:blog_mini@163.com

密碼:blog_mini

作者51cto博客:香飄葉子 - 51CTO技術博客 - 領先的IT技術博客

作者個人博客網站:xpleaf.com

推薦閱讀:

Linux下的timerfd在OS X下可以用什麼替代?
在Linux內核模塊中對空指針解引用,為什麼內核不掛?
linux下如何學習彙編語言?

TAG:Android | Linux | 博客 |