ASP.NET Core 2.0 + Angular7项目部署到Windows Server 2012 R2 IIS

一、ASP .NET Core 2.0部署到IIS

1. 部署之前确认宿主机的IIS是否安装了AspNetCoreModule模块,没有的话需要到官网下载。

下载地址:https://dotnet.microsoft.com/download#/runtime

ASP.NET Core 2.0 + Angular7项目部署到Windows Server 2012 R2 IIS_第1张图片

2.安装好AspNetCoreModule模块之后需要运行两条命令启用模块。

ASP.NET Core 2.0 + Angular7项目部署到Windows Server 2012 R2 IIS_第2张图片

3.开始发布ASP .NET Core项目(这里用 VS2017发布,也可以用命令发布)

a.右键项目Publish…

ASP.NET Core 2.0 + Angular7项目部署到Windows Server 2012 R2 IIS_第3张图片

b.选择File System,并且选择好发布的目标位置

ASP.NET Core 2.0 + Angular7项目部署到Windows Server 2012 R2 IIS_第4张图片

4.在IIS上新建站点,复制发布好的ASP .NET Core项目到站点下,并且将程序应用池的 .NET CLR version设置成"无代码托管"方式

ASP.NET Core 2.0 + Angular7项目部署到Windows Server 2012 R2 IIS_第5张图片

5.点击OK,浏览网站就可以了

二、Angular7项目部署到IIS

1.在Angular项目中改好请求的API地址为上面已经部署好的 ASP .NET Core 的地址

ASP.NET Core 2.0 + Angular7项目部署到Windows Server 2012 R2 IIS_第6张图片

2.使用AOT编译打包

使用AOT,浏览器下下载预编译版本的应用程序。浏览器直接加载运行代码,所以它可以立即渲染应用,而不用等应用完成首次编译。(更多的优点可以再官网上查看:https://angular.cn/guide/aot-compiler)

使用powershell进入到相应的项目根目录
运行命令行: ng build --prod --base-href /YourIISAliasName/
运行完之后会在根目录生产一个dist文件夹,将此文件夹中的文件放到IIS相应的站点下。

2.安装URL Rewrite组件

因为Angular无刷新的特性,在浏览器地址栏的网址不会真正地映射到磁盘的特定位置
URL Rewrite组件下载地址:https://www.iis.net/downloads/microsoft/url-rewrite

3.添加配置文件Web.config

根据官网的要求,你需要在网站的根目录下添加一个配置文件Web.config。(官网参考文档:https://angular.cn/guide/deployment)
内容如下:
ASP.NET Core 2.0 + Angular7项目部署到Windows Server 2012 R2 IIS_第7张图片
但是有一点要注意的是,加web.config的时候需要修改一个地方是,url的值是你上面ng build --prod --base-href /YourIISAliasName/ 中的YourIISAliasName
ASP.NET Core 2.0 + Angular7项目部署到Windows Server 2012 R2 IIS_第8张图片

至此,项目就已经部署完成。

你可能感兴趣的:(代码答疑,配置答疑)