Nginx+uwsgi+flask部署
阿新 • • 發佈:2019-02-14
系統環境: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持久執行