asp.net core 2.1 部署IIS(win10/win7)

asp.net core 2.1 部署IIS(win10/win7)

概述

与ASP.NET时代不同,ASP.NET Core不再是由IIS工作进程(w3wp.exe)托管,而是使用自托管Web服务器(Kestrel)运行,IIS则是作为反向代理的角色转发请求到Kestrel不同端口的ASP.NET Core程序中,随后就将接收到的请求推送至中间件管道中去,处理完你的请求和相关业务逻辑之后再将HTTP响应数据重新回写到IIS中,最终转达到不同的客户端(浏览器,APP,客户端等)。而配置文件和过程都会由些许调整,中间最重要的角色便是AspNetCoreModule,它是其中一个的IIS模块,请求进入到IIS之后便立即由它转发,并迅速重定向到ASP.NET Core项目中,所以这时候我们无需设置应用程序池来托管我们的代码,它只负责转发请求而已。


官方文档

地址:https://docs.microsoft.com/zh-cn/aspnet/core/host-and-deploy/iis/?view=aspnetcore-2.1&tabs=aspnetcore2x


IIS 配置

启用“IIS 管理控制台”和“万维网服务”。

  • 1、导航到“控制面板” > “程序” > “程序和功能” > “打开或关闭 Windows 功能”(位于屏幕左侧)。
  • 2、打开“Internet Information Services”节点。 打开“Web 管理工具”节点。
  • 3、选中“IIS 管理控制台”框。
  • 4、选中“万维网服务”框。
  • 5、接受“万维网服务”的默认功能,或自定义 IIS 功能。

如图:
asp.net core 2.1 部署IIS(win10/win7)


安装 AspNetCoreModule

下载地址:https://www.microsoft.com/net/download/dotnet-core/2.1

如图:asp.net core 2.1 部署IIS(win10/win7)

  • 1、asp.net core/.net core runtime& hosting bundle
  • 2、asp.net core installer x64
  • 3、.net core installer x64

重要提示:如果在 IIS 之前安装了托管捆绑包,则必须修复捆绑包安装。 在安装 IIS 后再次运行托管捆绑包安装程序。

重启系统,或从命令提示符处依次执行 net stop was /y 和 net start w3svc。 重启 IIS 会选取安装程序对系统 PATH(环境变量)所作的更改。

安装完后一定要重启,否则可能会提示 Http Error 502.5错误。

如图:
asp.net core 2.1 部署IIS(win10/win7)


程序发布

运行时集:https://docs.microsoft.com/zh-cn/dotnet/core/rid-catalog

  • 命令行 -r 指定runtime
1、进入工程根目录 dotnet publish -c Release -o "XX:IISmvcApp" -r win10-x64/win7-x64

2、进入发布根目录 dotnet mvcApp.dll 返回以下结果:

Hosting environment: Production
Content root path: XX:IISmvcApp
Now listening on: http://localhost:5003
Now listening on: http://localhost:5004
Application started. Press Ctrl+C to shut down.

如图:

asp.net core 2.1 部署IIS(win10/win7)

asp.net core 2.1 部署IIS(win10/win7)

IIS 运行

如图:

asp.net core 2.1 部署IIS(win10/win7)

asp.net core 2.1 部署IIS(win10/win7)

打开浏览器并运行相关网站。


可能遇到的问题

待续.....

说明

有部分原图来自于其他博友或网站,若涉及到您的权益请联系我,立马修改,谢谢。