在DigitalOcean的服務(wù)器上部署flaskblog應(yīng)用
在DigitalOcean上部署了flaskblog,項(xiàng)目雖小,部署中也學(xué)到了很多東西。
操作系統(tǒng)選擇的是Ubuntu14.04,原因就是平時(shí)自己主要使用這個(gè)版本,順手而已,所以你自己可以根據(jù)需要選擇合適的linux版本。
部署方案:
Virtualenv+Gunicorn+Nginx+Supervisor
從這里下載項(xiàng)目的代碼flaskblog, 工程中帶有簡(jiǎn)單的配置文件參考。
可以先訪問flaskblog看一下。
注意
本文中使用Ubuntu14.04 64位主機(jī), 創(chuàng)建一個(gè)名為xin的用戶,進(jìn)行部署。
本文重點(diǎn)部署,所有l(wèi)inux的相關(guān)操作不做詳細(xì)介紹。
部署目錄是(/home/xin/www/flaskblog),所以請(qǐng)注意配置文件中的目錄。
環(huán)境
系統(tǒng):Ubuntu 14.04 64
Web Server: Nginx
虛擬環(huán)境: Virtualenv
WSGI Server: Gunicorn
數(shù)據(jù)庫: MySQL
Monitor: Supervisor
使用supervisor主要是監(jiān)控gunicorn的運(yùn)行,保證服務(wù)器的可以持續(xù)運(yùn)行。
安裝
安裝軟件
$ 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
下載工程并開啟虛擬環(huán)境
使用git下載代碼到(/home/xin/www/flaskblog)
$ git clone https://github.com/defshine/flaskblog.git $ cd flaskblog
啟動(dòng)虛擬環(huán)境,安裝工程依賴
$ virtualenv venv $ source venv/bin/activate (venv)$ pip install -r requirements.txt
如何退出虛擬環(huán)境
(venv)$ deactivate
數(shù)據(jù)庫
在MySQL數(shù)據(jù)庫中創(chuàng)建數(shù)據(jù)庫(flaskblog),修改 config.py中的數(shù)據(jù)庫的配置
初始化數(shù)據(jù)庫并創(chuàng)建管理員用戶
(venv)$ python manage.py create_db (venv)$ python manage.py create_user -u admin -p 123456
開啟監(jiān)控
根據(jù)自己的情況,編輯工程下的supervisor配置文件(flaskblog.conf),然后復(fù)制到系統(tǒng)目錄中
$ sudo cp flaskblog.conf /etc/supervisor/conf.d/
重新載入配置文件,并啟動(dòng)flaskblog
$ sudo supervisorctl reload $ sudo supervisorctl start flaskblog
查看運(yùn)行狀態(tài)
$ sudo supervisorctl status
Nginx
修改nginx的配置文件(flaskblog),然后復(fù)制到系統(tǒng)目錄中去,并創(chuàng)建軟鏈接。重啟nignx。
$ 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狀態(tài)
$ sudo service nginx status
然后,就可以通過ip地址訪問了。當(dāng)然,配置好域名,訪問起來更好。
flaskblog這個(gè)小項(xiàng)目,剛剛有個(gè)小雛形,后續(xù)還可以開發(fā)一些小特性。
相關(guān)文章
python爬蟲數(shù)據(jù)保存到mongoDB的實(shí)例方法
在本篇文章里小編給大家整理的是一篇關(guān)于python爬蟲數(shù)據(jù)保存到mongoDB的實(shí)例方法,有需要的朋友們可以參考下。2020-07-07
pandas.DataFrame的pivot()和unstack()實(shí)現(xiàn)行轉(zhuǎn)列
這篇文章主要介紹了pandas.DataFrame的pivot()和unstack()實(shí)現(xiàn)行轉(zhuǎn)列,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-07-07
pycharm 如何縮進(jìn)和SQL亂碼及SQL包含變量
這篇文章主要介紹了pycharm 如何縮進(jìn)和SQL亂碼及SQL包含變量,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07
python3之讀取redis數(shù)據(jù)帶有‘b’的問題
這篇文章主要介紹了python3之讀取redis數(shù)據(jù)帶有‘b’的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-09-09
Python3開發(fā)監(jiān)控自動(dòng)化觸發(fā)聲光報(bào)警
使用python制作一個(gè)自動(dòng)監(jiān)控并觸發(fā)聲光報(bào)警是不是感覺很高端,很多人都會(huì)認(rèn)為只是一件很難的事情,但實(shí)際很簡(jiǎn)單就能實(shí)現(xiàn)。2023-07-07
Django User 模塊之 AbstractUser 擴(kuò)展詳解
這篇文章主要介紹了Django User 模塊之 AbstractUser 擴(kuò)展詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-03-03
Python函數(shù)之zip函數(shù)的介紹與實(shí)際應(yīng)用
zip() 函數(shù)用于將可迭代的對(duì)象作為參數(shù),將對(duì)象中對(duì)應(yīng)的元素打包成一個(gè)個(gè)元組,然后返回由這些元組組成的對(duì)象(python2 返回的是這些元組組成的列表 ),下面這篇文章主要給大家介紹了關(guān)于Python函數(shù)之zip函數(shù)實(shí)際應(yīng)用的相關(guān)資料,需要的朋友可以參考下2022-03-03

