服務器操作系統 Windows Server 2012 R2 Datacenter (帶界面)(之前在 Windows Server 2008 R2 上安裝netcoreapp3.1 )多次搭建不好)
1.安裝IIS 參考 https://blog.csdn.net/muzizongheng/article/details/85228929
2.安裝 dotnet-hosting-3.1.13-win 下載地址 https://dotnet.microsoft.com/download/dotnet/3.1 widnwos Hosting Bundle 下載
3.安裝vc_redist.x64.exe 下載地址 https://www.microsoft.com/zh-CN/download/details.aspx?id=53840
安裝完畢重啟服務器
4.創建Api文件夾,做為放置Web Api文件的根目錄,權限設置可寫
5.Web Api 程序版本 Vs2019開發 + NSwag.AspNetCore(13.6.2) 【Swagger 】 ,在Startup.cs中配置NSwag,參考https://www.cnblogs.com/caijt/p/11875905.html
6.修改Web Api的接口根地址和默認的5000端口,Web Api默認的根地址是localhost:5000 ,打開Program.cs
public static void Main(string[] args)
{
Host.CreateDefaultBuilder(args)
.UseIdHelper()
.UseLog()
.UseCache()
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder
.UseUrls("http://*:8003") // 這里默認是http://*:5000 .現在改成8003端口
.UseStartup<Startup>();
})
.Build()
.Run();
}
appsettings.json中 "WebRootUrl": "http://121.15.220.10:8003" //接口根地址 ,默認是 http://localhost:5000 121.15.220.10 是服務器IP
修改完成后,點擊發布,把發布完成的文件復制到服務器api文件夾內
。注意:vs2019中,發布的框架版本 netcoreapp3.1 和服務器上安裝的.net core版本必須一致
7. 打開swagger測試頁面,目前還沒有搭建任何iis網站設置,現在使用不依賴iis的情況下,訪問swagger測試頁面
console host,把文件部署產生的dll 復制到目標機器,直接用dotnet命令行啟動web工程的dll
在服務器打開api文件夾,在文件夾空白處,按下Shift + 鼠標右鍵菜單,點擊"在此處打開命令窗口",
輸入 dotnet coldairarrow.api.dll 這里是 項目名.dll 我的web Api項目名稱是“coldairarrow.api”
然后打開瀏覽器,輸入http://服務器IP地址:8003/swagger/ ,就可以正常打開 測試頁面了,不需要任何IIS配置,關閉這個cmd,http://服務器IP地址:8003/swagger/ 也無法打開了。
8.下邊開始配置IIS
新建網站,不需要先設置程序池,ip地址選擇下拉默認的內網地址,不需要寫公網地址(寫了會訪問出錯),端口為8003,和上邊設置的一致
創建完成后,api程序池默認是這樣的,無需修改為“無托管代碼”一樣可以正常運行 http://服務器公網IP地址:8003/swagger/。換成“無托管代碼”,也是可以運行正常
高級設置保持默認不修改
所有設置全部完成
最后幾張截圖
點擊網站->模塊,全程沒有出現過 AspNetCoreModule ,只有 AspNetCoreModuleV2,一樣正常運行
感覺最重要的是服務器上的.net core runtime版本要和vs2019發布時候的目標框架版本一致
測試代碼下載地址 http://www.mamicode.com/info-detail-3078753.html 開發工具使用的是Visual Studio 2019 使用的是Asp.Net Core平台,開發所有業務,向前台提供Rest API接口
其他參考
https://www.cnblogs.com/ugvnui/p/11706724.html
https://www.jb51.net/article/88128.htm (服務器上並沒有安裝Node.js)