在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í)現(xiàn)的簡(jiǎn)單RPG游戲流程實(shí)例
這篇文章主要介紹了python實(shí)現(xiàn)的簡(jiǎn)單RPG游戲流程,實(shí)例分析了Python實(shí)現(xiàn)RPG游戲流程的常用判定技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-06-06一文教會(huì)你用Python獲取網(wǎng)頁指定內(nèi)容
Python用做數(shù)據(jù)處理還是相當(dāng)不錯(cuò)的,如果你想要做爬蟲,Python是很好的選擇,它有很多已經(jīng)寫好的類包,只要調(diào)用即可完成很多復(fù)雜的功能,下面這篇文章主要給大家介紹了關(guān)于Python獲取網(wǎng)頁指定內(nèi)容的相關(guān)資料,需要的朋友可以參考下2022-03-03centos+nginx+uwsgi部署django項(xiàng)目上線
本文主要介紹了centos+nginx+uwsgi部署django項(xiàng)目上線,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07Python全角與半角之間相互轉(zhuǎn)換的方法總結(jié)
全角與半角轉(zhuǎn)換在處理漢語語料中會(huì)經(jīng)常出現(xiàn),這里分別說明漢字、數(shù)字、字母的unicode編碼范圍,下面這篇文章主要給大家介紹了關(guān)于Python全角與半角之間相互轉(zhuǎn)換的相關(guān)資料,需要的朋友可以參考下2022-03-03