在DigitalOcean上部署了flaskblog,項目雖小,部署中也學到了很多東西。
操作系統選擇的是Ubuntu14.04,原因就是平時自己主要使用這個版本,順手而已,所以你自己可以根據需要選擇合適的linux版本。
部署方案:
1
|
Virtualenv+Gunicorn+Nginx+Supervisor |
從這里下載項目的代碼flaskblog, 工程中帶有簡單的配置文件參考。
可以先訪問flaskblog看一下。
注意
本文中使用Ubuntu14.04 64位主機, 創建一個名為xin的用戶,進行部署。
本文重點部署,所有linux的相關操作不做詳細介紹。
部署目錄是(/home/xin/www/flaskblog),所以請注意配置文件中的目錄。
環境
系統:Ubuntu 14.04 64
Web Server: Nginx
虛擬環境: Virtualenv
WSGI Server: Gunicorn
數據庫: MySQL
Monitor: Supervisor
使用supervisor主要是監控gunicorn的運行,保證服務器的可以持續運行。
安裝
安裝軟件
1
2
3
4
5
6
7
|
$ sudo apt-get install python-pip $ sudo apt-get install python-dev $ sudo pip install virtualenv $ sudo apt-get install mysql-server $ sudo apt-get install libmysqlclient-dev $ sudo apt-get install nginx $ sudo apt-get install supervisor |
下載工程并開啟虛擬環境
使用git下載代碼到(/home/xin/www/flaskblog)
1
2
|
$ git clone https: //github .com /defshine/flaskblog .git $ cd flaskblog |
啟動虛擬環境,安裝工程依賴
1
2
3
|
$ virtualenv venv $ source venv /bin/activate (venv)$ pip install -r requirements.txt |
如何退出虛擬環境
1
|
(venv)$ deactivate |
數據庫
在MySQL數據庫中創建數據庫(flaskblog),修改 config.py中的數據庫的配置
初始化數據庫并創建管理員用戶
1
2
|
(venv)$ python manage.py create_db (venv)$ python manage.py create_user -u admin -p 123456 |
開啟監控
根據自己的情況,編輯工程下的supervisor配置文件(flaskblog.conf),然后復制到系統目錄中
1
|
$ sudo cp flaskblog.conf /etc/supervisor/conf .d/ |
重新載入配置文件,并啟動flaskblog
1
2
|
$ sudo supervisorctl reload $ sudo supervisorctl start flaskblog |
查看運行狀態
1
|
$ sudo supervisorctl status |
Nginx
修改nginx的配置文件(flaskblog),然后復制到系統目錄中去,并創建軟鏈接。重啟nignx。
1
2
3
4
5
|
$ sudo cp flaskblog /etc/nginx/site-available/ $ cd /etc/nginx/site-enabled $ sudo ln -s /etc/nginx/site-avalaible/flaskblog . $ sudo service nginx reload $ sudo service nginx restart |
查看nginx狀態
1
|
$ sudo service nginx status |
然后,就可以通過ip地址訪問了。當然,配置好域名,訪問起來更好。
flaskblog這個小項目,剛剛有個小雛形,后續還可以開發一些小特性。