Flask uWSGI

2021-08-11 10:50 更新

uWSGI 是在像 nginx 、 lighttpd 以及 cherokee 服務器上的一個部署的選 擇。更多選擇見 FastCGI 獨立 WSGI 容器 。 你會首先需要一個 uWSGI 服務器來用 uWSGI 協(xié)議來使用你的 WSGI 應用。 uWSGI 是 一個協(xié)議,同樣也是一個應用服務器,可以提供 uWSGI 、FastCGI 和 HTTP 協(xié)議。

最流行的 uWSGI 服務器是 uwsgi ,我們會在本指導中使用。確保你已經(jīng)安裝 好它來跟隨下面的說明。

注意

請?zhí)崆按_保你在應用文件中的任何 app.run() 調(diào)用在 if __name__ == '__main__': 塊中或是移到一個獨立的文件。這是因為它總會啟動一個本地 的 WSGI 服務器,并且我們在部署應用到 uWSGI 時不需要它。

用 uwsgi 啟動你的應用

uwsgi 被設(shè)計為操作在 python 模塊中找到的 WSGI 可調(diào)用量。

已知在 myapp.py 中有一個 flask 應用,使用下面的命令:

$ uwsgi -s /tmp/uwsgi.sock --module myapp --callable app

或者,你喜歡這樣:

$ uwsgi -s /tmp/uwsgi.sock -w myapp:app

配置 nginx

一個基本的 flaks uWSGI 的給 nginx 的 配置看起來是這樣:

location = /yourapplication { rewrite ^ /yourapplication/; }
location /yourapplication { try_files $uri @yourapplication; }
location @yourapplication {
  include uwsgi_params;
  uwsgi_param SCRIPT_NAME /yourapplication;
  uwsgi_modifier1 30;
  uwsgi_pass unix:/tmp/uwsgi.sock;
}

這個配置綁定應用到 /yourapplication 。如果你想要綁定到 URL 根會更簡單,因 你不許要告訴它 WSGI SCRIPT_NAME 或設(shè)置 uwsgi modifier 來使用它:

location / { try_files $uri @yourapplication; }
location @yourapplication {
    include uwsgi_params;
    uwsgi_pass unix:/tmp/uwsgi.sock;
}


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號