Windows下部署Flask的Web服務


 

  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里面配置的端口被占用,修改成其他端口測試一下

  

 

  輸入地址訪問:http://localhost:8088/

  

 

  這樣,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

  參考:Windows下部署Flask的Web服務

    https://blog.csdn.net/u012748719/article/details/90477779

    https://blog.csdn.net/k295330167/article/details/80616519

 

 

 

 

 

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM