1. 程式人生 > >Nginx+uwsgi+flask部署

Nginx+uwsgi+flask部署

系統環境:Centos6.7、Python2.7、pip2.7(安裝方式參考前一篇)

安裝

安裝flask

pip2.7 install flask

安裝uwsgi

#安裝
pip2.7 install uwsgi

#驗證安裝
uwsgi --version

安裝Nginx

我採用編譯安裝,直接跑的以前寫的指令碼,過程略,百度(Google)一大堆

配置

新建flask專案

mkdir -p /opt/flask/app #app為Flask程式目錄

檔案目錄如下:
這裡寫圖片描述

vim app/__init__.py

from flask import
Flask app = Flask(__name__) @app.route('/') def index(): return 'Hello Flask' if __name__ == '__main__': app.run('0.0.0.0')

vim manage.py #啟動檔案

from app import app

if __name__ == "__main__":
    app.run('0.0.0.0')

此時本地環境即可執行flask

python2.7 manage.py runserver

uwsgi配置

在專案目錄下建立uwsgi8001.ini,用於啟動uwsgi

[uwsgi]
uid = nginx
gid = nginx
# uwsgi 啟動時所使用的地址與埠
socket = 127.0.0.1:8001 

# 指向網站目錄
chdir = /opt/flask/ 

# python 啟動程式檔案
wsgi-file = manage.py 

# python 程式內用以啟動的 application 變數名
callable = app 

# 處理器數
processes = 4

# 執行緒數
threads = 2

#每次修改程式碼自動reload,無需要手動重啟
py-autoreload = 1

#狀態檢測地址
stats = 127.0
.0.1:9001

Nginx配置

server {
        listen       80;
        server_name  localhost;

        charset utf-8;

        access_log  logs/host.access.log  main;

        location / {
            root   /opt/flask;
            include uwsgi_params;
            uwsgi_pass 127.0.0.1:8001;

            proxy_set_header   Host $host;
            proxy_set_header   X-Real-IP  $remote_addr;
            proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header   Referer http://$host;

            index  index.html index.htm;
        }

啟動uwsgi、Nginx

uwsgi uwsgi8001.ini 

#檢查配置
nginx -t
#reload
nginx -s reload

驗證:
這裡寫圖片描述

PS:可通過supervisor保持uwsgi持久執行