以前一直很懒,没写过学习日记,也没好好钻研新技术,最近才开始研究.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配置的端口访问,即可调取接口。