一、環境
1、操作系統
公司用的是阿里雲服務器,選擇的鏡像是Windows操作系統,查詢Windows服務器版本的方式如下:
2、搭建dotnet core環境
首先下載.NET Core Runtime,我項目的環境是core3.1,所以下載相應的,如下圖
下載完成后,執行exe文件,勾選同意安裝,然后等待安裝完成就行了
3、然后回到我們之前的項目中,右鍵項目,選擇發布。
選取發布目標,選擇文件夾,選擇路徑(我用的默認路徑),因為是部署到Windows服務器,所以目標運行時選擇可移植的,點擊發布
發布成功后,拷貝到服務器上
三、程序部署
微軟官網上提供了部署的文檔,可以看下,下面是我實際部署的過程。有兩種部署方法,第一種是執行命令行運行;第二種是通過IIS部署。推薦使用第二種常用的IIS部署方式
1、第一種方式
定位到發布文件中,按住Shift鍵不松,鼠標右鍵空白處,彈出的右鍵菜單有【在此處打開命令窗口】,點擊它打開命名窗口。
會發現我們cmd的路徑直接在該文件夾里,然后執行下面的命令(HyDataMiddleground.Admin是我的項目名)。
dotnet HyDataMiddleground.Admin.dll
會發現有一個地址,監聽本地的5000端口(該端口是默認的,有時間總結下如何自定義綁定端口號的方法)
然后在服務器瀏覽器上輸入該地址就能訪問了
但這個是localhost本地的,我們想要在外網訪問需要改一下代碼,打開我們的項目,點擊Program文件。
然后重新生成將dll文件拷貝到服務器上覆蓋,按照之前的方式運行
輸入在自己電腦上輸入公網ip加上端口,就能成功訪問了(這里一定注意端口號要開放,不然外網通過IP訪問不到,除非使用域名的方式,有時間總結下這塊)
2、第二種方式,通過IIS部署
首先,打開服務器管理器。在管理里點擊【添加角色和功能】
到選擇服務器角色,勾選【Web服務器(IIS)】。
然后選擇角色服務器,根據需求勾選。(我都勾上了,為了避免出現問題,反正用不用都先加上沒多大壞處 )。
安裝完成之后,打開我們的IIS管理器。
右鍵網站,選擇添加網站。輸入網站名稱,選擇文件路徑,輸入端口。
然后點擊【應用程序池】,點開編輯我們剛剛創建的。
將.NET CLR版本的下拉框選擇為【無托管代碼】,確定。
然后打開網站,報錯了,查了一下是缺少了【AspNetCoreModule】托管模塊。
選擇根節點的服務器,打開【模塊】這一項。
發現沒有找到叫做【AspNetCoreModule】的托管模塊,emmmmm好像是漏掉了。重新打開我們下載的安裝程序,點擊【Repair】重新安裝。
等待重新安裝完成之后,重啟IIS管理器,再次打開【模塊】,發現已經有了。
然后我們訪問網站,成功出現Swagger文檔頁面,大功告成。
三、netcore部署IIS總結
c.SwaggerEndpoint($"{virtualPath }/swagger/v1/swagger.json", "1.0.0");
3、vue項目部署為應用程序