在IIS上如何部署ASP.NETCore項(xiàng)目

這篇文章給大家分享的是有關(guān)在IIS上如何部署ASP.NET Core項(xiàng)目的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。

成都創(chuàng)新互聯(lián)公司是一家專注于網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站設(shè)計(jì)與策劃設(shè)計(jì),許昌網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)十載,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:許昌等地區(qū)。許昌做網(wǎng)站價(jià)格咨詢:18980820575

概述

與ASP.NET時(shí)代不同,ASP.NET Core不再是由IIS工作進(jìn)程(w3wp.exe)托管,而是使用自托管Web服務(wù)器(Kestrel)運(yùn)行,IIS則是作為反向代理的角色轉(zhuǎn)發(fā)請求到Kestrel不同端口的ASP.NET Core程序中,隨后就將接收到的請求推送至中間件管道中去,處理完你的請求和相關(guān)業(yè)務(wù)邏輯之后再將HTTP響應(yīng)數(shù)據(jù)重新回寫到IIS中,最終轉(zhuǎn)達(dá)到不同的客戶端(瀏覽器,APP,客戶端等)。而配置文件和過程都會(huì)由些許調(diào)整,中間最重要的角色便是AspNetCoreModule,它是其中一個(gè)的IIS模塊,請求進(jìn)入到IIS之后便立即由它轉(zhuǎn)發(fā),并迅速重定向到ASP.NET Core項(xiàng)目中,所以這時(shí)候我們無需設(shè)置應(yīng)用程序池來托管我們的代碼,它只負(fù)責(zé)轉(zhuǎn)發(fā)請求而已。

部署之前要確保你的IIS上已經(jīng)安裝了AspNetCoreModule托管模塊,如果沒有的話,點(diǎn)擊這里進(jìn)行下載并安裝

在IIS上如何部署ASP.NET Core項(xiàng)目

一、安裝IIS

1、在控制面板→程序→啟用或關(guān)閉Windows功能→勾選Internet Information Services以及Web管理工具下的IIS管理控制臺(tái)

在IIS上如何部署ASP.NET Core項(xiàng)目

二、發(fā)布項(xiàng)目

1、發(fā)布我們上一篇建好的ASP.NET Core API項(xiàng)目,然后選擇IIS,新建一項(xiàng)發(fā)布配置

在IIS上如何部署ASP.NET Core項(xiàng)目

2、發(fā)布方法選擇文件系統(tǒng),然后設(shè)置一個(gè)發(fā)布路徑

在IIS上如何部署ASP.NET Core項(xiàng)目

3、配置文件可以根據(jù)你線上、線下的環(huán)境進(jìn)行選擇,因?yàn)槭腔?NET Core,所以目標(biāo)框架為netcoreapp1.1,然后保存發(fā)布即可

在IIS上如何部署ASP.NET Core項(xiàng)目

4、當(dāng)然了,你還可以基于CLI的Publish命令進(jìn)行發(fā)布,只需切換到Light.API根目錄下,輸入以下命令即可

dotnet publish --framework netcoreapp1.1 --output "E:\Publish" --configuration Release

framework表示目標(biāo)框架,output表示要發(fā)布到的目錄文件夾,configuration表示配置文件,等同于和上面我們通過管理器來發(fā)布的操作,如圖:

在IIS上如何部署ASP.NET Core項(xiàng)目

三、在IIS中添加網(wǎng)站

1、添加一個(gè)網(wǎng)站,設(shè)置一下名稱,并將路徑指向你剛才發(fā)布的文件夾,然后啟動(dòng)網(wǎng)站即可

在IIS上如何部署ASP.NET Core項(xiàng)目

2、設(shè)置應(yīng)用程序池的.NET CLR版本為“無托管代碼”,因?yàn)閯偛乓舱f了,IIS是作為一個(gè)反向代理的角色,并不需要它來托管代碼

在IIS上如何部署ASP.NET Core項(xiàng)目

3、OK,大功告成,瀏覽一下我們的網(wǎng)站。

在IIS上如何部署ASP.NET Core項(xiàng)目

此時(shí)我的內(nèi)心是崩潰的,沒有任何有用的提示信息,看來只能自己動(dòng)手查看應(yīng)用程序的運(yùn)行日志了

4、設(shè)置IIS的日志記錄方式為日志文件和ETW事件

在IIS上如何部署ASP.NET Core項(xiàng)目

5、重新訪問網(wǎng)站,然后打開Windows應(yīng)用程序日志,你會(huì)看到這樣一條信息。意思是說你的應(yīng)用程序已經(jīng)由PID為3236的進(jìn)程啟動(dòng),并且在25636的端口上監(jiān)聽著。

在IIS上如何部署ASP.NET Core項(xiàng)目

我打開任務(wù)管理器查看了一下,說的很對。應(yīng)該是一切正常才對啊,那為啥訪問網(wǎng)站是404呢。

在IIS上如何部署ASP.NET Core項(xiàng)目

糾結(jié)了半天,原來是因?yàn)榫W(wǎng)站沒有自動(dòng)重定向到/swagger/ui頁面,重新訪問:http://192.168.1.105/swagger/ui,你會(huì)看到熟悉的畫面

在IIS上如何部署ASP.NET Core項(xiàng)目

6、最后一點(diǎn),其實(shí)你還可以通過CLI來運(yùn)行你發(fā)布的程序,切換到你發(fā)布文件夾下,輸入以下命令:

dotnet Light.API.dll

看到這個(gè)提示,那么說明你成功了。試著訪問一下:http://localhost:5000/swagger/ui

在IIS上如何部署ASP.NET Core項(xiàng)目

而此時(shí)你再回過頭來看任務(wù)管理器,那么就會(huì)又多了一個(gè)dotnet的進(jìn)程

在IIS上如何部署ASP.NET Core項(xiàng)目

感謝各位的閱讀!關(guān)于“在IIS上如何部署ASP.NET Core項(xiàng)目”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

分享名稱:在IIS上如何部署ASP.NETCore項(xiàng)目
文章分享:http://muchs.cn/article28/ppjscp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、企業(yè)網(wǎng)站制作、用戶體驗(yàn)網(wǎng)站策劃、網(wǎng)站營銷、微信小程序

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)