Windows Server 2008 R2 IIS部署Flask

介紹

大家都知道服務(wù)器使用linux部署的好,但總有一些例外。

這次部署,看了很多的教程,但還是遇到很多坑。所以寫這篇記錄一下,為自己,也是為了后來人能多一份參考。

安裝

  1. python的安裝

    明確需要安裝的python版本,在官網(wǎng)選擇對應(yīng)的版本下載,安裝。安裝時建議勾選ADD Python xx to PATH,并選擇自定義安裝在一個較短的路徑下,方便后面使用時過長的路徑造成輸入錯誤。

  2. 安裝數(shù)據(jù)庫

    選擇恰當?shù)臄?shù)據(jù)庫,和本地安裝數(shù)據(jù)庫步驟一樣,這里就不多說。

  3. 安裝IIS和URL重寫

    這兩個軟件可以通過Microsoft Web Platform Installer來安裝,下載后運行,在搜索框中輸入CGI,點擊添加,輸入URL點擊添加。之后點擊安裝即可,等待安裝完成。

1529291973276.png
1529292336895.png
1529292381033.png
  1. 上傳代碼

這里遠程桌面我是用teamviewer,一個很良心的遠程連接軟件,個人使用免費,不過傳輸速度很一般??傊?,將代碼上傳到服務(wù)器。

配置

  1. 安裝web程序依賴包
    • 在代碼目錄中按住shift+鼠標右鍵點擊在此處打開命令提示符。使用命令pip install -r requirements.txt安裝web程序依賴包(如果有的話)。
    • 使用命令pip install wfastcgi安裝wfastcgi,安裝成功后啟用wfastcgi,使用命令wfastcgi-enable。返回如圖4,記住返回的c:\python\python.exe|c:\python\lib\site-packages\wfastcgi.py,python安裝目錄不同,返回的不相同,以自己的為準。當然也可以使用wfastcgi-disable停止該服務(wù)。
1529293402884.png

在Internet 信息服務(wù)(IIS)管理器配置網(wǎng)站

  1. 打開Internet 信息服務(wù)(IIS)管理器
1529306889481.png
  1. 點擊網(wǎng)站,右鍵添加網(wǎng)站,點擊確定


    1529306999895.png
  2. 處理程序映射


    1529307115340.png
  3. 雙擊進入處理程序映射后,點擊右邊添加模塊映射。

如果雙擊處理程序映射報錯(...在父級別上鎖定了該節(jié)...),在管理員權(quán)限的命令提示符下執(zhí)行下面兩條命令即可。

%windir%\system32\inetsrv\appcmd unlock config -section:system.webServer/handlers 
 %windir%\system32\inetsrv\appcmd unlock config -section:system.webServer/modules
1529307329734.png
  1. 點擊請求限制,取消勾選


    1529307368328.png
  2. FastCGI設(shè)置


    1529307471177.png
1529307503205.png
  1. 添加兩個環(huán)境變量
  • name 為PYTHONPATH,value為C:\MathModeling-dev(注意:這里是你的程序根目錄地址)
  • name為WSGI_HANDLER,value為run.app(注意:這里應(yīng)該是你啟動項目時運行的程序名加上.app)
    1529307529508.png
  1. 回到這里,點擊重新啟動后,點擊瀏覽網(wǎng)站下面的鏈接,應(yīng)該就能看到你的網(wǎng)站了。至此我們就成功部署了。


    1529307974650.png

阿里云搭建實戰(zhàn)

進行上面的步驟沒有問題的話,我們這里只需要設(shè)置阿里云服務(wù)器的防火墻即可。

1529309477624.png

點擊添加規(guī)則,設(shè)定好端口范圍即可。這里的端口范圍應(yīng)該包含我們添加網(wǎng)站時設(shè)置的端口。
1529308311528.png

用外網(wǎng)就可以訪問了,如果不能訪問,進行以下設(shè)置。
1529308508092.png

打開高級安全windows防火墻,點擊左邊的入站規(guī)則,再點擊右邊的新建規(guī)則
1529308585656.png

1529308659873.png
1529308728136.png

然后下一步,下一步到完成就OK.名稱隨便寫都可以。到這里外網(wǎng)應(yīng)該能訪問了,如果還不行,就直接關(guān)閉服務(wù)器的防火墻。檢查以上所有步驟是否完善正確。

參考

Deploying Python web app (Flask) in Windows Server (IIS) using FastCGI

使用wfastcgi在IIS上部署Python Flask應(yīng)用

Windows IIS 部署 Flask應(yīng)用

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容