windows server 2012 R2里IIS配置.net core2.1遇到的坑

首先剛接觸.net core不久,在本地也是簡單寫點測試程序,沒遇到過什麼問題,感覺還行,最近朋友搞了個asp.net core2.1的程序,讓我給他服務器配置一下,我想這都跨平台了有什麼難的嗎?拿來我先在本地配置下試試,我用的是win10,自己裝了vs2019,可以說環境的坑排除了不少,接着網上搜了下,在IIS里配置.net core的教程,照着上面的做很快就配置好,主要就三點:

一、下載安裝 dotnet-hosting-2.1.22-win.exe ,安裝後IIS > 模塊 中會出現AspNetCoreModule,這個東西是.net core能在IIS運行的前提

2.1之前的是AspNetCoreModule

2.2之後的是AspNetCoreModuleV2

微軟資料://docs.microsoft.com/zh-cn/aspnet/core/host-and-deploy/iis/?view=aspnetcore-2.1#install-the-net-core-hosting-bundle

各版本.net core下載地址://dotnet.microsoft.com/download/dotnet-core

二、下載安裝SDK和rumtime包:

dotnet-sdk-2.1.810-win-x64.exe

aspnetcore-runtime-2.1.22-win-x64.exe

三、IIS線程池配置:

.net clr版本設置為:無託管代碼

 

這三步搞完,瀏覽運行起來了,心情大好,看起來也沒什麼難的嘛,感覺比之前的.net framework還方便啊,不愧是最新的跨平台架構,接着搞正式的服務器了!然而,高興的太早了,噩夢剛剛開始!

正式的服務器是windows server 2012 R2,先按照上面的三點搞完之後,興沖沖的打開瀏覽,what?居然報錯:HTTP Error 502.5 – Process Failure

先點開他給出的鏈接,看了感覺沒啥用啊,也許是我不會找;遇事不決問搜索,繼續搜索,網友給出的是確保安裝了以下三點

  • Microsoft Visual C++ 2015 Redistributable
  • .NET Core Windows Server Hosting bundle
  • 對應版本的.Net Core SDK

後面兩個都裝了,那就看看第一個Microsoft Visual C++ 2015 Redistributable是個什麼鬼吧

下載地址://www.microsoft.com/en-us/download/details.aspx?id=53840

下載完後安裝,開始挺順利,到結尾的時候一直卡在 正在處理window81—×64,

然後我點開控制面板 > 程序看到Microsoft Visual C++ 2015 Redistributable已經有了,我就把一直卡的這個窗口關了,然後瀏覽網站程序,還是502.5錯誤,一臉懵逼!

我想着可能是我心急關早了,沒裝好,但明明安裝程序列表已經有了啊,不甘心搜索了下「正在處理window81—×64

我擦,還真有問題,看了相關資料,需要安裝KB2999226補丁

下載地址://support.microsoft.com/en-us/help/2999226/update-for-universal-c-runtime-in-windows

下載好補丁後,打開,提示「只允許運行一個wusa.exe實例」,又是什麼鬼啊!啊!

搜索!解決方法:打開任務管理器,找到windows update進程,關閉它!

接着裝補丁!打開,程序自動搜索了老半天啊,提示「此更新不適用於你的計算機」!!!二臉懵逼!!!下的補丁明明是對應系統版本的!有點抓狂!有點不想搞了!

想着看看.net core到底裝好了沒,別是沒裝好!打開cmd,輸入dotnet,敲回車,提示「api-ms-win-crt-runtime-l1-1-0.dll 丟失」!三臉懵逼啊!!!又是什麼鬼!

 

 繼續搜索,發現還是Microsoft Visual C++ 2015 Redistributable沒有裝好!還是需要裝KB2999226補丁!

但是這個補丁剛才裝不上啊!藍瘦啊!捋捋思路,是不是這個補丁裝之前還要裝其他的東西?趕緊看看剛才下載的頁面,確實有!需要先安裝KB2919355補丁!

 哪就接着下補丁!下載地址://support.microsoft.com/en-us/help/2919355/windows-rt-8-1-windows-8-1-windows-server-2012-r2-update-april-2014

點開一看,我滴個乖乖!690M!好嘛!搞搞搞!下載及安裝將近三個小時!

安裝完後重啟,重啟之後,遠程連接,賬號密碼輸進去,回車,沒問題,但怎麼就是出不來遠程畫面呢,幾秒種後遠程連接直接就沒了!此時我的內心竟然毫無波瀾!!!

我想可能是系統在開機前更新吧!已經深夜十一點多了!想想睡覺吧!明天再搞!如果明天還進不去,那八成是系統打補丁打卒了,哈哈哈!

第二天上午十點,心平氣和的打開遠程連接,輸入賬號密碼,回車,幾秒後,呦!進來了!沒問題!看起來猜的沒錯!

接着裝補丁KB2999226,好傢夥!一次成功!然後再裝Microsoft Visual C++ 2015 Redistributable,玩美無阻!打開cmd,輸入dotnet,回車,ok沒問題!

然後打開網站網址,心裏默默祈禱…兩秒後,網站畫面順利出現!

此次,windows server 2012 R2服務器IIS配置.net core,采坑結束!

話說微軟自己的服務器系統怎麼配置個.net core這麼難呢?!坑多的要命啊!