利用 WSGI 模組執行 Flask 生成的網頁

2022-05-11 19:45:13 字數 1792 閱讀 2442

但是,如果你的網頁是通過 flask 動態生成的,那你就不能通過上述方式實現跨裝置訪問網頁了。

這時候你可以使用wsgi 模組

參考文章:《running flask on macos with mod_wsgi/wsgi-express》

具體操作如下:

當你在使用 flask 模組時,官網教程就要求你使用 virtualenv 了,如果已經有獨立的 virtualenv 了,啟用該環境後直接跳到下一步。

用 pip 安裝 virtualenv:

pip install virtualenv
建立專案資料夾並進入該資料夾:

mkdir

myproject

cd myproject/

建立乙個獨立的 python 執行環境,命名為 venv:

virtualenv venv
這時候就會在你的專案資料夾下多乙個 venv 的資料夾。

用 source 進入該環境:

source venv/bin/activate
如果需要退出當前的 venv 環境,執行 deactivate 命令。

pip install mod_wsgi
安裝 mod_wsgi 後可以嘗試執行 server:

mod_wsgi-express start-server
你會看到如下結果:

開啟網頁http://localhost:8000/,你會看到如下介面:

終端中按 ctrl + c,停止伺服器。

如果你已經有 flask 專案,那你需要確保 flask 專案的 venv 環境中安裝了 mod_wsgi,然後直接進行下一步。

venv 環境中安裝 flask:

pip install flask
建立你的專案資料夾,我就直接將該資料夾放在了 venv 資料夾同級的位置(myproject 資料夾下):

from flask import flask'/

')def hello_world():

return

'hello, world!

'

貼上以下內容:

import sys

sys.path.insert(

0, '

')

上面的路徑可以通過  pwd

執行下面的操作開啟 wsgi 伺服器:

如果你開啟的網頁顯示錯誤,就開啟上圖中提示的 error log file,可在瀏覽器中直接貼上 /var/tmp/mod_wsgi-localhost:8000:501/error_log。

另外,我在執行前面這個命令時遇到過如下的問題:

解決方法參照了這篇文章:《unknown locale: utf-8解決方法》,就不贅述了。

Flask程式部署 WSGI獨立容器

有一些流行的伺服器用python編寫的,包含wsgi應用程式並提供http服務。這些伺服器可以獨立執行 您可以從您的web伺服器 它們。如果遇到問題,請翻閱 安裝程式的issues。gunicorn green unicorn 是執行在unix下的wsgi http伺服器,這是從ruby的獨角獸專案...

Flask程式執行過程

1 當客戶端想要獲取資源時,一般會通過瀏覽器發起http請求 2 此時,web伺服器會把來自客戶端的所有請求都交給flask程式例項 3 程式例項使用werkzeug來做路由分法 url請求和檢視函式之間的對應關係 4 根據每個url請求,找到具體的檢視函式並執行呼叫 在flask程式中路由一般是通...

Flask之簡單呼叫Flask模組例項

flask之簡單呼叫flask模組例項from flask import flask 2.建立flask應用程式例項 需要傳入 name 作用是為了確定資源所在的路徑 3.定義路由及檢視函式 flask中定義路由是通過裝飾器實現的 路由預設只支援get請求,如果需要增加,自行指定methods me...