.net core 在IIS上發佈502問題

原本遷移一個項目到.net core就是一件體力活,要找各類替代包,還有一些函數/屬性的不支持web

總之很頭疼...windows

不要問我爲何用了.net core還要Host在IIS上,國內用.net的公司廣泛都是Windows Server,一時半會兒估計是轉換不過來了服務器

至於發佈嘛,vs2017上的操做和其餘版本的vs發佈同樣,發佈完後文件夾裏面文件從數量上就複雜多了函數

服務器環境:windows server 2008 r2spa

若是服務器沒有外網,還得準備一個C++ 的安裝包,官方的連接2015可再發行的版本404了.net

裝一個2010的應該也沒問題,目前沒試過行不行,自行下載嘗試代理

Microsoft Visual C++ 2010 Redistributable Package (x86)code

Microsoft Visual C++ 2010 Redistributable Package (x64)server

Host到IIS必備安裝程序:DotNetCore.1.0.4_1.1.1-WindowsHosting.exeblog

地址:https://go.microsoft.com/fwlink/?linkid=844461

這個安裝程序會自動安裝一個1.0.4和1.1.1的.net core的Runtime

還有一個IIS的ASP.NET Core Module,提供IIS和Kestrel Server間的反向代理

裝完以後呢,就跟之前發佈web同樣,建立應用程序池,拷貝文件到web目錄下什麼的

這裏應用程序池.NET CLR版本要改成 無託管代碼

 

改完後啓動應用程序池,而後瀏覽網頁

這裏正常狀況下會報個錯502.5

 

用微軟的東西,按照正常發佈流程走下來,而後正常的,本身都以爲不正常了

這個安裝的ASP.NET Core Module啓動的時候,運行了一個dotnet [你項目名字].dll的命令,若是這個命令運行正常,基本問題也不大了

因此我直接把cmd定位到web發佈目錄下,運行這個命令,這個應該是運行時版本問題

因此我直接在 https://www.microsoft.com/net/download/core#/runtime 下載了1.1.2版本的Runtime

而後重啓電腦或者運行如下兩個命令,按順序運行

net stop was /y

net start w3svc

注意生產環境第一個命令會致使IIS服務關閉,慎重!

最後附上一個微軟的官方說明地址

https://docs.microsoft.com/en-us/aspnet/core/publishing/iis

若是以上問題恰好也是您遇到的,能幫助到你,請幫忙推薦一下吧!

相關文章
相關標籤/搜索