目录
以下部署流程都是基于Windows服务器环境下进行的。
一、准备ASP.NET Core应用程序部署文件
使用 Visual Studio 开发工具创建 ASP.NET Core 的Web应用程序,利用VS工具发布功能,将源码生成可以运行的程序文件,具体创建与发操作这里省略描述......
注:.NEt Core 框架的版本官方更新比较快,在创建Web应用程序时,需要清楚当前所使用的 .NET Core 版本,以备后续在服务器运行环境下安装 .NET Core 2.1 Runtime & Hosting 的版本能一一对应。
二、环境配置
- 在Windows服务器上配置IIS
打开系统 >> “控制面板” >> "程序和功能" 面板,点击“启用或关闭 Windows 功能”,如下:
按提示“下一步”操作,进入“选择服务器角色”面板,点选“Web 服务器(IIS)”来安装IIS服务管理器,如下:
- 安装 .NET Core Runtime & Hosting 程序集
完成IIS服务器安装后,接下进行 ASP.NET Core 应用程序运行环境的配置。
从微软官方主页(Download .NET (Linux, macOS, and Windows) )下载 .NET Core Runtime & Hosting 安装包,需要找回当前部署Web应用程序所使用的 .NET Core 框架版本(或更高版本)进行下载,如下:
注:当前部署Web应用程序使用 .NET Core 框架的版本为:2.1.1
将 .NET Core Runtime & Hosting 安装包在Windows服务器执行安装。
特别注意:按微软官方说法,如果是脱机安装,则需先手动安装 Microsoft Visual C++ 2015 Redistributable。如系统已安装了 Microsoft Visual C++ 2015 Redistributable 此步可以跳过。
完成安装后重启系统或者重启IIS服务即可。
为了确认 .NET Core Runtime & Hosting 是否成功安装,可以打开 Internet Information Services(IIS)管理器 >> 应用服务主页 >> 模块,如有 “AspNetCoreModule” 模块存在,则表示已安装好,如下:
说明:
安装 .NET Core Runtime & Hosting 程序集,为了让IIS具备反向代理功能。该程序集包含了.Net Core运行时(Runtime),.Net Core 类库(Library)和 Asp.Net Core Module。其中Asp.Net Core Module 负责反向代理工作。
- 部署Web应用程序
服务器的运行环境已配置好,接下来准备Web应用程序的部署处理。
部署ASP.NET Core 应用程序与传统网站部署流程基本一致,最大不同点:配置应用程序池 >> .NET CLR 版本(C),需要设置为“无托管代码”,如下:
三、测试 ASP.NET Core Web 应用程序
在浏览器输入 ASP.NET Core Web应用程序访问地址,来验证是否成功部署。
四、部署后访问失败问题
若访问 .NET Core Web 应用程序出现:“HTTP Error 502.5 - Process Failure”的错误提示,如下:
原因:
安装好 .NET Core Runtime & Hosting 程序集后,没有重启服务器。
解决办法:
- 重启系统
直接重启Windows系统让IIS重新加载服务组件。
- 使用命令重启IIS服务器
net stop was /y
net start w3svc
参考: