介紹
大家都知道服務(wù)器使用linux部署的好胳喷,但總有一些例外党晋。
這次部署计寇,看了很多的教程耀找,但還是遇到很多坑。所以寫這篇記錄一下厂汗,為自己委粉,也是為了后來人能多一份參考。
安裝
-
python的安裝
明確需要安裝的python版本娶桦,在官網(wǎng)選擇對應(yīng)的版本下載贾节,安裝。安裝時建議勾選
ADD Python xx to PATH
,并選擇自定義安裝在一個較短的路徑下衷畦,方便后面使用時過長的路徑造成輸入錯誤栗涂。 -
安裝數(shù)據(jù)庫
選擇恰當(dāng)?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安裝目錄不同,返回的不相同干签,以自己的為準津辩。當(dāng)然也可以使用wfastcgi-disable
停止該服務(wù)。
- 在代碼目錄中按住
在Internet 信息服務(wù)(IIS)管理器配置網(wǎng)站
- 打開Internet 信息服務(wù)(IIS)管理器
-
點擊網(wǎng)站,右鍵添加網(wǎng)站丹泉,點擊確定
-
處理程序映射
- 雙擊進入處理程序映射后情萤,點擊右邊添加模塊映射。
如果雙擊處理程序映射報錯(...在父級別上鎖定了該節(jié)...)摹恨,在管理員權(quán)限的命令提示符下執(zhí)行下面兩條命令即可。
%windir%\system32\inetsrv\appcmd unlock config -section:system.webServer/handlers
%windir%\system32\inetsrv\appcmd unlock config -section:system.webServer/modules
-
點擊請求限制娶视,取消勾選
-
FastCGI設(shè)置
- 添加兩個環(huán)境變量
- name 為
PYTHONPATH
晒哄,value為C:\MathModeling-dev
(注意:這里是你的程序根目錄地址) - name為
WSGI_HANDLER
,value為run.app
(注意:這里應(yīng)該是你啟動項目時運行的程序名加上.app
)
-
回到這里肪获,點擊重新啟動后寝凌,點擊瀏覽網(wǎng)站下面的鏈接,應(yīng)該就能看到你的網(wǎng)站了孝赫。至此我們就成功部署了较木。
阿里云搭建實戰(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