在安卓上部署伺服器 - 部署腳本和博客
本系列其他文章:
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: 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] 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: 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] 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技術博客
作者個人博客網站:http://www.xpleaf.com
推薦閱讀:
※Linux下的timerfd在OS X下可以用什麼替代?
※在Linux內核模塊中對空指針解引用,為什麼內核不掛?
※linux下如何學習彙編語言?