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

0.說明python

        本文爲開源博客系統Blog_mini的官方部署文檔,經過本文的閱讀,你將能夠在一個全新的CentOS系統上徹底部署Blog_mini,從而成功架設屬於你的我的博客網站。mysql

        這裏使用的操做系統爲:Ubuntu 15.10,理論上,只要操做系統上安裝的Python版本爲2.6.x或2.7.x,均可以成功部署Blog_mini。git




1.獲取Blog_mini源代碼
github

        有如下兩種方式能夠獲取Blog_mini的源代碼:
sql

  • 經過git的方式數據庫

  • 經過Blog_mini項目主頁下載瀏覽器

        咱們將介紹這兩種方法,實際中,你只須要選擇其中一種便可,咱們推薦第一種方法
安全

(1)經過git獲取源代碼bash

  • 首先確保你的系統已經安裝了git版本控制系統:服務器

xpleaf@leaf:~$ git version
程序「git」還沒有安裝。 您可使用如下命令安裝:
sudo apt-get install git
  • 若是尚未安裝,請經過apt-get方式安裝:

xpleaf@leaf:~$ sudo apt-get install git
[sudo] xpleaf 的密碼:
  • 安裝完成後,在用戶目錄中建立一個project的目錄:

xpleaf@leaf:~$ mkdir project
xpleaf@leaf:~$ cd project/
xpleaf@leaf:~/project$
  • 從Blog_mini項目地址中克隆源代碼:

xpleaf@leaf:~/project$ git clone https://github.com/xpleaf/Blog_mini

        若是網絡狀況良好的話,很快就能夠把代碼克隆下來。

  • 查看Blog_mini的源代碼目錄結構:

xpleaf@leaf:~/project/Blog_mini$ ls
app        LICENSE    migrations  README.md     requirements.txt
config.py  manage.py  Procfile    requirements


(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$ sudo apt-get install python-pip




3.安裝virtualenv


  • 執行下面的命令安裝便可:

xpleaf@leaf:~/project/Blog_mini$ sudo apt-get install virtualenv

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

xpleaf@leaf:~/project/Blog_mini$ sudo apt-get install python-virtualenv




4.建立虛擬環境venv


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

xpleaf@leaf:~/project/Blog_mini$ virtualenv venv
Running virtualenv with interpreter /usr/bin/python2
New python executable in venv/bin/python2
Also creating executable in venv/bin/python
Installing setuptools, pip...done.
  • 能夠在Blog_mini下看到生成了一個venv目錄:

xpleaf@leaf:~/project/Blog_mini$ ls
app        LICENSE    migrations  README.md     requirements.txt
config.py  manage.py  Procfile    requirements  venv




5.激活虛擬環境venv


  • 在Blog_mini目錄下:

xpleaf@leaf:~/project/Blog_mini$ source venv/bin/activate
(venv)xpleaf@leaf:~/project/Blog_mini$

        注意看提示符的改變。




6.安裝Blog_mini需求文件


  • 執行以下命令:

(venv)xpleaf@leaf:~/project/Blog_mini$ pip install -i http://pypi.douban.com/simple/ -r requirements/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$ python manage.py deploy product
INFO  [alembic.runtime.migration] Context impl SQLiteImpl.
INFO  [alembic.runtime.migration] Will assume non-transactional DDL.
INFO  [alembic.runtime.migration] Running upgrade  -> 051691f120e6, fit to MySQL

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

  • 查看生成的sqlite數據庫:

(venv)xpleaf@leaf:~/project/Blog_mini$ ls
app        config.pyc   LICENSE    migrations  README.md     requirements.txt
config.py  data.sqlite  manage.py  Procfile    requirements  venv

        能夠看到多了一個data.sqlite文件,這個文件就是sqlite數據庫文件!

  • 運行Blog_mini:

(venv)xpleaf@leaf:~/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] Booting worker with pid: 7194

        上面的提示就說明Blog_mini已經成功運行了!不過這樣的運行方式只能在本機以8000端口訪問,若是你的Ubuntu操做系統自己沒有GUI界面的話,你在本機也沒有辦法訪問,因此咱們能夠用下面的方式運行。

  • 以80端口運行Blog_mini:

(venv)xpleaf@leaf:~/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] Booting worker with pid: 7207

        這樣的話:

  • 若是你是在有公網IP地址的服務器部署Blog_mini的,只須要在互聯網上任何一臺主機的瀏覽器上輸入你的公網IP地址,就能夠訪問Blog_mini了。

  • 若是你只是在局域網上部署Blog_mini的,那麼在局域網上的任何一臺主機的瀏覽器上輸入你這臺主機的IP地址也是能夠訪問的了。

        不過,若是沒法訪問的話,那多是防火牆的問題,你能夠先把防火牆關掉:

xpleaf@leaf:~$ sudo ufw disable
[sudo] xpleaf 的密碼:

        由於博主最開始是學網絡工程出身的,因此你們若是在網絡通訊上遇到任何問題,均可以給我回復提問,我將一一解答。 


        到了這一步,你已是成功地把Blog_mini的服務器部署好了,接下來你就能夠運營你的我的博客網站了!Blog_mini功能強大,但使用很是簡單,你能夠參考博主關於Blog_mini介紹的博文來了解它的功能,固然你也能夠本身探索,相信這對你來講都很是容易!

        須要注意的是,Blog_mini支持後臺管理(在主頁底欄有'後臺管理'登錄連接,點擊便可進入登錄頁面),下面是Blog_mini管理後臺的默認帳號密碼:

  • 帳號:blog_mini@163.com

  • 密碼:blog_mini

        

        提示:在部署完Blog_mini後,裏面是沒有任何數據的,若是你須要必定的數據來測試Blog_mini的功能,能夠在完成上面的操做後執行下面的命令:       

(venv)xpleaf@leaf:~/project/Blog_mini$ python manage.py deploy test_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$ sudo apt-get install python-dev libmysqlclient-dev
  • 安裝MySQL-python:

(venv)xpleaf@leaf:~/project/Blog_mini$ pip install MySQL-python
……
Successfully installed MySQL-python
Cleaning up...

        注意查看有沒有安裝成功的信息。


(3)爲Blog_mini建立數據庫

  • 退出虛擬環境,回到用戶主目錄中:

(venv)xpleaf@leaf:~/project/Blog_mini$ deactivate 
xpleaf@leaf:~/project/Blog_mini$ cd
xpleaf@leaf:~$
  • 登錄到MySQL數據庫中(請先確保MySQL服務已經開啓):

[root@leaf ~]# mysql -u root -p
Enter password: 

mysql>
  • 爲Blog_mini建立數據庫:

mysql> create database blog_mini default character set utf8 collate utf8_general_ci;
Query OK, 1 row affected (0.04 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| blog_mini          |
| mysql              |
| performance_schema |
+--------------------+
4 rows in set (0.04 sec)

        這裏咱們建立了名爲`blog_mini`的數據庫,同時指定編碼字符集分別爲utf8utf8_general_ic


(4)建立數據庫路徑環境變量

        Blog_mini的源碼中指定了讀取環境變量DATABASE_URL來獲取數據庫的路徑,所以咱們要爲系統設定一個名爲DATABASE_URL的環境變量,而且指定值爲MySQL數據庫的路徑。

  • 設定系統環境變量:

xpleaf@leaf:~$ export DATABASE_URL=mysql://root:123456@127.0.0.1/blog_mini

        這裏指定了使用的數據庫路徑爲:mysql://root:123456@127.0.0.1/blog_mini,其中123456是密碼,其它也很容易知道。

  • 驗證系統環境變量:

xpleaf@leaf:~$ echo $DATABASE_URL
mysql://root:123456@127.0.0.1/blog_mini

        有上面的輸出即說明咱們的設置沒有問題。


(5)初始化Blog_mini系統默認數據

        咱們首先要初始化Blog_mini所須要的系統默認數據,以確保後面Blog_mini可以正確運行。

  • 進入project/Blog_mini目錄,初始化虛擬環境:

xpleaf@leaf:~$ cd project/Blog_mini/
xpleaf@leaf:~/project/Blog_mini$ source venv/bin/activate
(venv)xpleaf@leaf:~/project/Blog_mini$
  • 初始化Blog_mini系統默認數據:

(venv)xpleaf@leaf:~/project/Blog_mini$ python manage.py deploy product          
INFO  [alembic.runtime.migration] Context impl MySQLImpl.
INFO  [alembic.runtime.migration] Will assume non-transactional DDL.
INFO  [alembic.runtime.migration] Running upgrade  -> 051691f120e6, fit to MySQL


(6)運行Blog_mini

  • 運行Blog_mini:

(venv)xpleaf@leaf:~/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] Booting worker with pid: 7194

        上面的提示就說明Blog_mini已經成功運行了!不過這樣的運行方式只能在本機以8000端口訪問,若是你的Ubuntu操做系統自己沒有GUI界面的話,你在本機也沒有辦法訪問,因此咱們能夠用下面的方式運行。

  • 以80端口運行Blog_mini:

(venv)xpleaf@leaf:~/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] Booting worker with pid: 7207

        這樣的話:

  • 若是你是在有公網IP地址的服務器部署Blog_mini的,只須要在互聯網上任何一臺主機的瀏覽器上輸入你的公網IP地址,就能夠訪問Blog_mini了。

  • 若是你只是在局域網上部署Blog_mini的,那麼在局域網上的任何一臺主機的瀏覽器上輸入你這臺主機的IP地址也是能夠訪問的了。

        不過,若是沒法訪問的話,那多是防火牆的問題,你能夠先把防火牆關掉:

xpleaf@leaf:~$ sudo ufw disable
[sudo] xpleaf 的密碼:

        由於博主最開始是學網絡工程出身的,因此你們若是在網絡通訊上遇到任何問題,均可以給我回復提問,我將一一解答。 


        到了這一步,你已是成功地把Blog_mini的服務器部署好了,接下來你就能夠運營你的我的博客網站了!Blog_mini功能強大,但使用很是簡單,你能夠參考博主關於Blog_mini介紹的博文來了解它的功能,固然你也能夠本身探索,相信這對你來講都很是容易!

        須要注意的是,Blog_mini支持後臺管理(在主頁底欄有'後臺管理'登錄連接,點擊便可進入登錄頁面),下面是Blog_mini管理後臺的默認帳號密碼:

  • 帳號:blog_mini@163.com

  • 密碼:blog_mini

         

        提示:在部署完Blog_mini後,裏面是沒有任何數據的,若是你須要必定的數據來測試Blog_mini的功能,能夠在完成上面的操做後執行下面的命令:       

(venv) [root@leaf Blog_mini]# python manage.py deploy test_data

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



        在Ubuntu上部署Blog_mini的文檔到這裏就結束了,若是你們在部署的過程當中出現什麼問題,請在博文下面給我留言,我將盡最大努力幫助你們!謝謝你們!

相關文章
相關標籤/搜索