回顧以前的ASP.NET的經典託管linux
在經典ASP.NET應用程序中,全部一切都託管在IIS工做進程中(w3wp.exe),這也被稱爲IIS應用程序池。ASP.NET程序被託管在應用程序池中,而且被按照IIS內建的ASP.NET託管特性所實例化。當請求從http.sys傳入到ASP.NET應用程序管道時,本地運行時管理器會實例化一個表明應用程序的.NET運行時,同時引入HttpRuntime對象用來處理這個請求。來自http.sys的請求被派送到對應的應用程序池和HttpRuntime實例的託管站點。windows
.net core與asp.net發佈有點不同,ASP.NET Core再也不由IIS工做進程(w3wp.exe)託管,而是使用自託管Web服務器(Kestrel)運行,IIS則是做爲反向代理的角色轉發請求到Kestrel不一樣端口的ASP.NET Core程序中,隨後就將接收到的請求推送至中間件管道中去,處理完你的請求和相關業務邏輯以後再將HTTP響應數據從新回寫到IIS中,最終轉達到不一樣的客戶端(瀏覽器,APP,客戶端等)。瀏覽器
若是你的應用只接收來自內部網絡的請求,你能夠只使用Kestrel自己。服務器
若是你將你的應用部署在公共網絡上,咱們建議你使用IIS,Nginx或者Apache做爲反向代理服務器。一個反向代理服務器接收來自網絡的HTTP請求而且在通過一些初步處理後將請求傳遞到Kestrel服務器。由於Kestrel不支持在多進程間分享同一端口,因此應用並不能直接和Kestrel合做。當你在某個端口上配置Kestrel運行偵聽時,不算主機頭如何標識,Kestrel會爲該端口處理全部的流量。反向代理能夠爲多個應用共享惟一端口並將流量發送給Kestrel。微信
AspNetCoreModule,它是其中一個的IIS模塊,請求進入到IIS以後便當即由它轉發,並迅速重定向到ASP.NET Core項目中,這時候咱們無需設置應用程序池來託管咱們的代碼,它只負責轉發請求而已。網絡
在瀏覽器中輸入:http://localhost:若是獲得以下"Internet information Services"歡迎頁面,則IIS已經安裝且運行正常;若是獲得「server not found"(找不到服務器)則IIS未安裝或已經中止運行app
當出現「Windows已完成請求的更改」的時候就說明完成了,點擊當即從新啓動按鈕。框架
電腦重啓後,在IE瀏覽器地址欄中輸入localhost,若是能正常打開就說明iis安裝成功了asp.net
IIS和ASP.NET Core 之間的對接由AspNetCoreModule提供網站
一、安裝.NET Core Windows Server Hosting
地址:
https://www.microsoft.com/net/permalink/dotnetcore-current-windows-runtime-bundle-installer
二、安裝完成後,打開以下頁面,雙擊IIS管理器
三、選擇左側樹的根目錄後,在右側選擇模塊,以下圖所示。
四、安裝完成後再模塊中會顯示AspNetCoreModuleV2模塊
添加網站:
網站—>右鍵添加網站
在上圖中,咱們建立了一個網站名爲:RDICoreWeb50,並指定了到咱們網站的發佈路徑。
這兒最重要的一步就是要設置網站的「應用程序池」。
在IIS左側選擇「應用程序池」,在右則能夠看到咱們網站使用的「RDICoreWeb50」,雙擊打開,並作如何配置:
Vs2019發佈咱們能夠直接發佈到IIS,也能夠發佈到本地目錄,再用IIS的配置指向該目錄。
一、右鍵項目名稱,點擊發布
二、選擇左路側的發佈,單擊「啓動」。
三、選擇Web服務器。
四、單擊「下一步」,選擇Web部署。
五、單擊「下一步」,配置Web服務器鏈接相關信息。
六、以下界面即添加配置文件成功。
上圖咱們能夠發佈到IIS,也能夠發佈到本地目錄下,再用IIS指向該目錄。
在程序包管理控制檯輸入dotnet publish --output " E:\WebSiteForIIS\RDICoreWeb50"回車(路徑和建立網站的路徑相同)
在發佈頁,咱們選擇「文件夾」便可,以下圖所示。
單擊「下一步」,設置須要發佈的本地文件夾,以下圖所示。
單擊完成後,回到主界面,再單擊「發佈」按鈕,便可發佈到咱們設置的目錄,如這兒設置爲:E:\WebSiteForIIS\RDICoreWeb50
在上圖中單擊「配置」,以下圖所示。
發佈成功後,在IIS把目錄指定到咱們的發佈目錄便可,以下圖所示。
發佈成功後,瀏覽發佈的程序,以下圖所示。
參考文章:
.NET Core部署到linux(CentOS)最全解決方案,常規篇
.NET Core部署到linux(CentOS)最全解決方案,進階篇(Supervisor+Nginx)
.NET Core部署到linux(CentOS)最全解決方案,高階篇(Docker+Nginx 或 Jexus)
.NET Core部署到linux(CentOS)最全解決方案,入魔篇(使用Docker+Jenkins實現持續集成、自動化部署)
一網打盡,一文講通虛擬機VirtualBox及Linux使用
RDIFramework.NET敏捷開發框架助力企業BPM業務流程系統的開發與落地
RDIFramework.NET敏捷開發框架 ━ 工做流程組件介紹
全新跨平臺版本.NET敏捷開發框架-RDIFramework.NET5.0震撼發佈
一路走來數個年頭,感謝RDIFramework.NET框架的支持者與使用者,你們能夠經過下面的地址瞭解詳情。
RDIFramework.NET官方網站:http://www.rdiframework.net/
RDIFramework.NET官方博客:http://blog.rdiframework.net/
特別說明,框架相關的技術文章請以官方網站爲準,歡迎你們收藏!
RDIFramework.NET框架由海南國思軟件科技有限公司專業團隊長期打造、一直在更新、一直在升級,請放心使用!
歡迎關注RDIFramework.NET框架官方微信公衆號(微信號:guosisoft),及時瞭解最新動態。
使用微信掃描二維碼當即關注