2020/02/03, ASP.NET Core 3.1, VS2019, IIS 10, dotnet-hosting-3.1.1-win.exehtml
摘要:基于ASP.NET Core 3.1 WebApi搭建后端多层网站架构【14-扩展之部署到IIS】
在Windows上将ASP.NET Core网站部署到IISweb
文章目录数据库
本章节因为并未对代码作出改动,仅添加了发布配置文件,因此没有上传代码分支(下一章节中能够看到本章节添加的发布配置文件)json
本章节介绍了在Windows上将ASP.NET Core网站部署到IIS,部署环境是 Windows 10.0.18363 (企业版)后端
在控制面板-程序和功能中,添加IIS:
勾选选项默认便可
我这里是win10企业版,winserver服务器也是相似的开启该功能服务器
官网下载安装dotnet-hosting,下载页面
先选取对应的.NET Core版本,而后找到Hosting Bundle下载,下载下来安装便可架构
对着MS.WebApi
应用程序右击,选择发布
:
选择文件夹
我这里保持了默认bin\Release\netcoreapp3.1\publish\文件夹
点击高级
,进一步配置:
Release
配置,部署模式为框架依赖
,目标运行时为可移植
,勾选删除目标上的其余文件
,最后点保存,建立该配置文件
最后点击发布,项目即开始以release方式编译
发布完成后,能够看到发布的文件都在目标文件夹中了:
app
Release
配置,默认VS对Release
的配置,依然会生成pdb调试文件,须要手动在项目属性
-生成-Release
配置-高级-调试信息
选择为无
,以后该项目才不会生成pdb文件(注意调试的时候不能选择为无,会致使没法调试)可移植
,无论在哪一个平台都能运行;也能够依据目标机器,选择具体的平台选择一个地方做为部署目录,这里我选择D盘下website文件夹(若是选择C盘,记得要把该文件夹权限设为彻底控制,不然网站没有对该文件夹的修改权限)
将发布后生成的文件都拷贝至该目录下:
框架
打开IIS管理器测试
右击应用程序池-添加应用程序池:
右击网站-添加网站,按如下配置添加:
至此,部署已完成
测试部署前需确认:
使用Postman调用接口,能够正常访问则部署成功:
若是遇到网站启动失败,对照官方文档进行排错
排错思路:
stdoutLogEnabled
值改成true
,从新访问网站,目录下会生成错误日志,根据错误日志排错或百度