首先剛接觸.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
微軟資料:https://docs.microsoft.com/zh-cn/aspnet/core/host-and-deploy/iis/?view=aspnetcore-2.1#install-the-net-core-hosting-bundle
各版本.net core下載地址:https://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是個什麼鬼吧
下載地址:https://www.microsoft.com/en-us/download/details.aspx?id=53840
下載完後安裝,開始挺順利,到結尾的時候一直卡在 正在處理window81—×64,
然後我點開控制皮膚 > 程式看到Microsoft Visual C++ 2015 Redistributable已經有了,我就把一直卡的這個視窗關了,然後瀏覽網站程式,還是502.5錯誤,一臉懵逼!
我想著可能是我心急關早了,沒裝好,但明明安裝程式列表已經有了啊,不甘心搜尋了下“正在處理window81—×64”
我擦,還真有問題,看了相關資料,需要安裝KB2999226補丁
下載地址:https://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補丁!
哪就接著下補丁!下載地址:https://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這麼難呢?!坑多的要命啊!