首先剛接觸.net core不久,在本地也是簡單寫點測試程序,沒遇到過什麼問題,感受還行,最近朋友搞了個asp.net core2.1的程序,讓我給他服務器配置一下,我想這都跨平臺了有什麼難的嗎?拿來我先在本地配置下試試,我用的是win10,本身裝了vs2019,能夠說環境的坑排除了很多,接着網上搜了下,在IIS裏配置.net core的教程,照着上面的作很快就配置好,主要就三點:windows
1、下載安裝 dotnet-hosting-2.1.22-win.exe ,安裝後IIS > 模塊 中會出現AspNetCoreModule,這個東西是.net core能在IIS運行的前提api
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-bundleasp.net
各版本.net core下載地址:https://dotnet.microsoft.com/download/dotnet-core測試
2、下載安裝SDK和rumtime包:網站
dotnet-sdk-2.1.810-win-x64.exe.net
aspnetcore-runtime-2.1.22-win-x64.exe線程
3、IIS線程池配置:server
.net clr版本設置爲:無託管代碼
這三步搞完,瀏覽運行起來了,心情大好,看起來也沒什麼難的嘛,感受比以前的.net framework還方便啊,不愧是最新的跨平臺架構,接着搞正式的服務器了!然而,高興的太早了,噩夢剛剛開始!
正式的服務器是windows server 2012 R2,先按照上面的三點搞完以後,興沖沖的打開瀏覽,what?竟然報錯:HTTP Error 502.5 - Process Failure
先點開他給出的連接,看了感受沒啥用啊,也許是我不會找;遇事不決問搜索,繼續搜索,網友給出的是確保安裝瞭如下三點
後面兩個都裝了,那就看看第一個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這麼難呢?!坑多的要命啊!