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项目中,所以这时候我们无需设置应用程序池来托管我们的代码,它只负责转发请求而已。
官方文档
IIS 配置
启用“IIS 管理控制台”和“万维网服务”。
- 1、导航到“控制面板” > “程序” > “程序和功能” > “打开或关闭 Windows 功能”(位于屏幕左侧)。
- 2、打开“Internet Information Services”节点。 打开“Web 管理工具”节点。
- 3、选中“IIS 管理控制台”框。
- 4、选中“万维网服务”框。
- 5、接受“万维网服务”的默认功能,或自定义 IIS 功能。
如图:
安装 AspNetCoreModule
如图:
- 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错误。
如图:
程序发布
运行时集: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.
如图:
IIS 运行
如图:
打开浏览器并运行相关网站。
可能遇到的问题
待续.....
说明
有部分原图来自于其他博友或网站,若涉及到您的权益请联系我,立马修改,谢谢。