介紹
大家都知道服務(wù)器使用linux部署的好,但總有一些例外。
這次部署,看了很多的教程,但還是遇到很多坑。所以寫這篇記錄一下,為自己,也是為了后來人能多一份參考。
安裝
-
python的安裝
明確需要安裝的python版本,在官網(wǎng)選擇對應(yīng)的版本下載,安裝。安裝時建議勾選
ADD Python xx to PATH,并選擇自定義安裝在一個較短的路徑下,方便后面使用時過長的路徑造成輸入錯誤。 -
安裝數(shù)據(jù)庫
選擇恰當?shù)臄?shù)據(jù)庫,和本地安裝數(shù)據(jù)庫步驟一樣,這里就不多說。
-
安裝IIS和URL重寫
這兩個軟件可以通過Microsoft Web Platform Installer來安裝,下載后運行,在搜索框中輸入CGI,點擊添加,輸入URL點擊添加。之后點擊安裝即可,等待安裝完成。



- 上傳代碼
這里遠程桌面我是用teamviewer,一個很良心的遠程連接軟件,個人使用免費,不過傳輸速度很一般??傊?,將代碼上傳到服務(wù)器。
配置
- 安裝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ù)。
- 在代碼目錄中按住

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

-
點擊網(wǎng)站,右鍵添加網(wǎng)站,點擊確定
1529306999895.png -
處理程序映射
1529307115340.png - 雙擊進入處理程序映射后,點擊右邊添加模塊映射。
如果雙擊處理程序映射報錯(...在父級別上鎖定了該節(jié)...),在管理員權(quán)限的命令提示符下執(zhí)行下面兩條命令即可。
%windir%\system32\inetsrv\appcmd unlock config -section:system.webServer/handlers
%windir%\system32\inetsrv\appcmd unlock config -section:system.webServer/modules

-
點擊請求限制,取消勾選
1529307368328.png -
FastCGI設(shè)置
1529307471177.png

- 添加兩個環(huán)境變量
- name 為
PYTHONPATH,value為C:\MathModeling-dev(注意:這里是你的程序根目錄地址) - name為
WSGI_HANDLER,value為run.app(注意:這里應(yīng)該是你啟動項目時運行的程序名加上.app)
1529307529508.png
-
回到這里,點擊重新啟動后,點擊瀏覽網(wǎng)站下面的鏈接,應(yīng)該就能看到你的網(wǎng)站了。至此我們就成功部署了。
1529307974650.png
阿里云搭建實戰(zhàn)
進行上面的步驟沒有問題的話,我們這里只需要設(shè)置阿里云服務(wù)器的防火墻即可。

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

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

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


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





