.net core 在IIS上發布502問題


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

總之很頭疼...

不要問我為什么用了.net core還要Host在IIS上,國內用.net的公司普遍都是Windows Server,一時半會兒估計是轉換不過來了

至於發布嘛,vs2017上的操作和其他版本的vs發布一樣,發布完后文件夾里面文件從數量上就復雜多了

服務器環境:windows server 2008 r2

如果服務器沒有外網,還得准備一個C++ 的安裝包,官方的鏈接2015可再發行的版本404了

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

Microsoft Visual C++ 2010 Redistributable Package (x86)

Microsoft Visual C++ 2010 Redistributable Package (x64)

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

地址: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

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM