以前一直很懶,沒寫過學習日記,也沒好好鑽研新技術,最近才開始研究.net core ,那就正好從零開始,總結一下學習過程吧。
這篇主要是學習如何在windows 下部署 .net core
項目開發環境 vs 2017 .net core 2.1,計算機環境 windows 10
首先新建一個asp.net core web api 程序 ,里面已經自帶控制器 valuescontroller,稍后用於測試,項目輸出類型為控制台應用程序(默認)
第一種方式:控制台運行
打開cmd ,路徑定位到項目根目錄文件夾,運行dotnet run
如果端口沖突,可在launchSettings.json 修改對應端口。
運行后會自動監聽對應端口,直接訪問http://127.0.0.1:5002/api/values 即可調取接口
第二種方式:IIS部署
發布到文件夾bin\Debug\netcoreapp2.1\publish\
1. 新建IIS站點
端口為9011,程序池設置CLR版本為無托管代碼
2. 安裝 .NET Core Windows Server 托管捆綁包
此時訪問接口 依然報錯,網上查詢,還需要安裝.NET Core Windows Server 托管捆綁包 。
如果想監聽日志,在發布文件夾下新建logs文件夾,然后修改web.config 設置stdoutLogEnabled="true"
此時訪問http://127.0.0.1:9011/api/values ,成功調取接口
第三種方式:WINDOWS服務
微軟有提供 如何在windows服務托管asp.net core ,不過步驟比較麻煩,還需要改源碼,網上找到一種方法 使用NSSM把.Net Core部署至windows服務
簡單說一下步驟
1. 下載nssm:http://www.nssm.cc/download
2. 運行cmd,定位到nssm.exe文件路徑,運行nssm install
3. 在彈出的窗口配置:
Path:dotnet所在的目錄,一般默認是在C:\Program Files\dotnet\dotnet.exe;
Startup directory:程序所在的目錄,就是最后程序dll所在的目錄;
Arguments:程序dll的名稱,一般是項目名加上.dll;
Service name:在此寫上服務的名稱即可。
最后點擊install service 完成windows服務安裝。
在windows服務找到對應服務名,啟動,然后根據launchSettings.json配置的端口訪問,即可調取接口。