1. 程式人生 > >Centos下部署Flask

Centos下部署Flask

home error nta linu 應用 anaconda pac 數據庫 -i

嘗試在Centos6.5下部署Flask應用並成功,記錄一下步驟,參數為什麽這樣配置還需要再研究uwsgi和Nginx才能回答。

Python版本升級2.7

測試機器centos6.5默認自帶的python版本是2.6.6,因此需要升級。我們采用Anacond的方式進行升級。

升級過程:

  • 下載anaconda https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/ 下載Anaconda2-4.3.1-Linux-x86_64.sh
  • 拉到服務器,輸入指令“bash Anaconda2-4.3.1-Linux-x86_64.sh”進行安裝
  • 默認安裝,安裝的最後一個步驟中需要選擇“prepend Anaconda install location to PATH in your /root/.bashrc",輸入“YES”(必須)。
  • 安裝完成後,輸入命令更新環境變量bashrc "source /root/.bashrc"
  • 輸入“python”,如果顯示python的版本是2.7.13即可。

註意,上述安裝使用的是root用戶,其他用戶可以參考類似配置。

部署準備

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

上傳代碼文件到發布目錄。
Flask應用中如涉及第三方的工具包及數據庫關聯也一並安裝好。

參數配置

在發布目錄下新增uwsgiconfig.ini配置文件,並輸入

[uwsgi]
socket = 127.0.0.1:5001
chdir = /root/flask/flask_source/ #發布目錄
wsgi-file = flask_source.py #入口文件
callable = app #應用名稱
processes = 16
threads =32
stats = 127.0.0.1:9191

修改Nginx的配置參數,/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;

    }
}

運行

uwsgi uwsgiconfig.ini #在發布目錄運行uwsgi
Ngnix

Centos下部署Flask