Windows 服務器部署 asp.net core

踩坑日記與 Windows 服務器部署 asp.net core 指南。html

準備

操做系統:Windows Server 2008 R2 或更高版本 文件:web

後面這兩個文件的下載地址:.NET download archives for Linux, macOS, and Windows服務器

準備 asp.net core web 應用程序

Step1 使用 VS2017 創建 asp.net core web 應用程序。asp.net

Step2 發佈。使用 「IIS,FTP」 - 「文件系統」 的發佈方式,獲取發佈文件。網站

具體的操做,可參考這裏:
使用 IIS 在 Windows 上託管 ASP.NET Core2.0 - Sundar - 博客園spa

Step3 IIS配置。在服務器上啓用 IIS 服務,默認配置便可。操作系統

安裝 asp.net core 運行環境

在服務器上分別安裝.net

  1. Microsoft Visual C++ 2015 Redistributable
  2. aspnetcore-runtime
  3. dotnet-hosting

安裝完成後,重啓系統,或從命令提示符處依次執行 net stop was /ynet start w3svc 。 從新啓動 IIS 將選取安裝程序對系統 PATH 所做的更改。code

安裝 asp.net core 運行環境必須在配置好 IIS 以後進行。htm

在 IIS 中添加網站

無特殊配置,須要注意的是,將應用程序池中對應的項修改成 無託管代碼

以上全部操做均可以參考 使用 IIS 在 Windows 上託管 ASP.NET Core2.0 - Sundar - 博客園 這篇博文,寫得很清晰。

重點:可能會遇到的問題

500.19

緣由:安裝 dotnet-hosting 在添加 IIS 以前,或者安裝完成以後,沒有進行重啓。

解決方案:從新安裝 dotnet-hosting ,選擇修復選項。而後重啓服務器。

502.5

緣由:asp.net 所需運行環境不夠。

解決: 方案1: 安裝 SDK 。 但這種方案沒有在我這裏生效,安裝姿式不對? 方案2: 在 asp.net 項目的 csproj 文件中添加
<PublishWithAspNetCoreTargetManifest>false</PublishWithAspNetCoreTargetManifest>

而後從新發布,會發現發佈文件裏面多了不少依賴項,更新服務器端的文件,重啓網站,應該就能夠大功告成了。


簡單的事情,必定有簡單的解決方案,對於部署 asp.net core 這種應該很標準化的操做,若是遇到問題須要很複雜,看起來就很奇奇怪怪的方案,那極可能是方向錯了。

以前就踩過坑,嘗試採用安裝重定向等等奇怪的方法。


參考資料:


原文連接:https://www.cnblogs.com/jasongrass/p/10645606.html

END

相關文章
相關標籤/搜索