嘗試在Centos6.5下部署Flask應(yīng)用并成功,記錄一下步驟,參數(shù)為什么這樣配置還需要再研究uwsgi和Nginx才能回答。
Python版本升級(jí)2.7
測(cè)試機(jī)器centos6.5默認(rèn)自帶的python版本是2.6.6,因此需要升級(jí)。我們采用Anacond的方式進(jìn)行升級(jí)。
升級(jí)過程:
- 下載anaconda https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/ 下載Anaconda2-4.3.1-Linux-x86_64.sh
- 拉到服務(wù)器,輸入指令“bash Anaconda2-4.3.1-Linux-x86_64.sh”進(jìn)行安裝
- 默認(rèn)安裝,安裝的最后一個(gè)步驟中需要選擇“prepend Anaconda install location to PATH in your /root/.bashrc",輸入“YES”(必須)。
- 安裝完成后,輸入命令更新環(huán)境變量bashrc "source /root/.bashrc"
- 輸入“python”,如果顯示python的版本是2.7.13即可。
注意,上述安裝使用的是root用戶,其他用戶可以參考類似配置。
部署準(zhǔn)備
python下載工具包:
pip install flask
pip install uwsgi
下載Nginx
rpm -ivh http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm
yum install nginx
上傳代碼文件到發(fā)布目錄。
Flask應(yīng)用中如涉及第三方的工具包及數(shù)據(jù)庫關(guān)聯(lián)也一并安裝好。
參數(shù)配置
在發(fā)布目錄下新增uwsgiconfig.ini配置文件,并輸入
[uwsgi]
socket = 127.0.0.1:5001
chdir = /root/flask/flask_source/ #發(fā)布目錄
wsgi-file = flask_source.py #入口文件
callable = app #應(yīng)用名稱
processes = 16
threads =32
stats = 127.0.0.1:9191
修改Nginx的配置參數(shù),/etc/nginx/conf.d/default.conf
server {
listen 80;
server_name 192.168.2.24;
#charset koi8-r;
access_log /root/test/access.log;
error_log /root/test/error.log;
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:5001;
uwsgi_param UWSGI_PYHOME /root/anaconda2/lib/python2.7;
uwsgi_param UWSGI_CHDIR /root/flask/flask_source/;
uwsgi_param UWSGI_SCRIPT flask_source:app;
}
}
運(yùn)行
uwsgi uwsgiconfig.ini #在發(fā)布目錄運(yùn)行uwsgi
Ngnix