Asp.net core利用IIS在windows上進行托管步驟詳解
摘要
最近項目中,嘗試使用asp.net core開發(fā),在部署的時候,考慮現(xiàn)有硬件,只能部署在windows上,linux服務器暫時沒有。下面話不多說了,來一起看看詳細的介紹吧。
部署注意事項
代碼中啟用iis和Kestrel
public class Program { public static void Main(string[] args) { BuildWebHost(args).Run(); } public static IWebHost BuildWebHost(string[] args) => WebHost.CreateDefaultBuilder(args) .UseKestrel() .UseContentRoot(Directory.GetCurrentDirectory()) .UseIISIntegration() .UseStartup<Startup>() .UseApplicationInsights() .Build(); }
在服務端安裝
.NET Core Windows Server 托管捆綁包
捆綁包可安裝 .NET Core 運行時、.NET Core 庫和 ASP.NET Core 模塊。 該模塊創(chuàng)建 IIS 與 Kestrel 服務器之間的反向代理。 如果系統(tǒng)沒有 Internet 連接,請先獲取并安裝 Microsoft Visual C++ 2015 Redistributable,再安裝 .NET Core Windows Server 托管捆綁包。
重啟系統(tǒng),或從命令提示符處依次執(zhí)行 net stop was /y 和 net start w3svc。 重新啟動 IIS 將選取安裝程序?qū)ο到y(tǒng) PATH 所作的更改。
發(fā)布
使用vs發(fā)布或者使用命令,這里由于使用vs2017開發(fā),就直接用vs發(fā)布了
在服務端新建站點
修改應用池CLR為No Managed Code
可以下面新建子站點test
確認進程模型標識擁有適當?shù)臋嘞蕖?/p>
如果將應用池的默認標識(“進程模型” > “標識”)從 ApplicationPoolIdentity 更改為另一標識,請驗證新標識擁有所需的權限,可訪問應用的文件夾、數(shù)據(jù)庫和其他所需資源。例如,應用池需要對文件夾的讀取和寫入權限,以便應用在其中讀取和寫入文件。
常見錯誤
如果通過ip和端口訪問,報500錯誤,但在服務器上 通過dotnet \xxxxx.dll可以啟動kestrel,并可以通過http:\\localhost:5000進行訪問,一般可以通過修改站點目錄權限進行解決。至少可以讀寫的權限。
其他錯誤,可以參考
https://docs.microsoft.com/zh-cn/aspnet/core/host-and-deploy/iis/troubleshoot
總結
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關文章
利用FastReport傳遞圖片參數(shù)在報表上展示簽名信息的實現(xiàn)方法
這篇文章主要介紹了利用FastReport傳遞圖片參數(shù)在報表上展示簽名信息,其中主要注意的是,我們傳遞的圖片數(shù)據(jù)需要采用Base64String的格式才能正常傳遞和展示,本文通過圖文實例代碼相結合給大家介紹的非常詳細,需要的朋友可以參考下2022-10-10Silverlight中動態(tài)獲取Web Service地址
開發(fā)過Silverlight應用的朋友們相信都會遇到這樣一個問題2009-11-11