1、說下了解寫web服務器,web框架與 WSGI 之間的關系:

Web服務器層:Web服務器的主要作用就是接收請求 、處理請求、返回響應。比如:Nginx,Apache,IIS等。
Web框架層:Web框架的作用主要是方便我們開發 web應用程序,HTTP請求的動態數據就是由 web框架層來提供的。比如:Django、Flask等。
WSGI層:WSGI 不是服務器,也不是用於與程序交互的API,只是一種接口,它只適用於 Python 語言,其全稱為 Web Server Gateway Interface,定義了 web服務器和 web應用之間的接口規范。也就是說,
只要 web服務器和 web應用都遵守WSGI協議,那么 web服務 器和 web應用就可以隨意的組合。
需要注意的是:mod_wsgi 版本、Apache 版本、Windows 環境、 Python 的版本要一一匹配
需要安裝:Python,Flask,Apache,mod_wsgi
Python,Flask的安裝就不說了,下面重點說下Apache,mod_wsgi
先確定python版本和vc版本關系:

Python版本:

這樣,我們就知道,Python3.6.4 對應VC 2015
選擇對應VC2015、64位的版本下載。
1、Apache下載及安裝
路徑:https://www.apachelounge.com/download/ 或 https://www.apachehaus.com/cgi-bin/download.plx
后面的鏈接下載老是超時,前面路徑可以


VC 2015

將壓縮包下載到本機,解壓到需要的目錄:D:\Apache24
修改配置:
D:\Apache24\conf

文本文件打開
修改
········

將httpd.conf配置文件中的 “Require all denied” 修改為 “Require all granted”
確保8088端口沒有被占有,如果被占用改成其他端口
把D:\Apache24\bin 添加到環境變量中
啟動服務,

也可以啟動cmd,在httpd -k install -n “Apache”,將apache服務加入到Windows服務中,如圖:


如果服務啟動失敗,很可能是httpd.conf里面配置的端口被占用,修改成其他端口測試一下

這樣,apache就運行成功了
2、下載編譯好的 mod_wsgi
https://www.lfd.uci.edu/~gohlke/pythonlibs/#mod_wsgi
應該下載:mod_wsgi-4.5.24+ap24vc14-cp36-cp36m-win_amd64.whl
但是沒有找到該版本,只能下載:mod_wsgi‑4.7.1‑cp36‑cp36m‑win_amd64.whl

把下載的mod_wsgi-4.7.1-cp36-cp36m-win_amd64.whl文件復制到python\Scripts下使用
用pip進行安裝
進行安裝在安裝成功后在python的安裝目錄的\scripts文件夾下運行

mod_wsgi-express module-config
LoadFile "C:\Python36\python36.dll" LoadModule wsgi_module "C:\Python36\lib\site-packages\mod_wsgi\server\mod_wsgi.cp36-win_amd64.pyd" WSGIPythonHome "C:\Python36"

然后拷貝到http.conf 中,添加到其他的 loadmodule后。
重點:就是將執行mod_wsgi-express module-config后控制台中顯示的這三行內容拷貝到 http.conf 中
重新啟動Apache
沒有報錯則表示 mod_wsgi 模塊在加載成功了。

修改apache配置
現在說明一下,我們需要修改的地方:
1、ServerRoot "c:/Apache24":修改成自己的目錄地址
2、Listen 80:端口號配置,部分用戶可能會發現自己的80端口占用,可能是IIS或者SQLserver占用,我們可以通過修改這個端口號,方便測試
<VirtualHost *> ServerName example.com WSGIScriptAlias / E:\AI\tv_service\tv_service.wsgi <Directory E:\AI\tv_service\> Require all granted </Directory> </VirtualHost>
要在局域網內訪問,需要開啟對應端口的入棧規則
如果有問題參考官網:如果有問題推薦看官網配置,它才會同步更新:
http://dormousehole.readthedocs.io/en/latest/deploying/mod_wsgi.html
重啟apache,然后輸入url地址訪問:
http://localhost/hello
https://blog.csdn.net/u012748719/article/details/90477779
https://blog.csdn.net/k295330167/article/details/80616519
