ASP .NET CORE MVC 部署Windows 系统上 IIS具体步骤---.Net Core 部署到 IIS位系统中的步骤

一、IIS 配置

启用 Web 服务器 (IIS) 角色并建立角色服务。

1、Windows Ddesktop 桌面操作系统(win7及更高版本)

导航到“控制面板” > “程序” > “程序和功能”> “启用或关闭 Windows 功能”。 打开“Internet Information Services”组和“Web 管理工具”。 选中“IIS 管理控制台”框, 选中“万维网服务”框。 接受“万维网服务”的默认功能,或自定义 IIS 功能。如下图1

ASP .NET CORE MVC 部署Windows 系统上 IIS具体步骤---.Net Core 部署到 IIS位系统中的步骤

图1

2、Windows Server 操作系统(本系统是 2012 R2 Standard)

对于服务器操作系统,通过“管理”菜单或“服务器管理器”中的链接使用“添加角色和功能”向导。 在“服务器角色”步骤中,选中“Web 服务器(IIS)”框。

如下图2

ASP .NET CORE MVC 部署Windows 系统上 IIS具体步骤---.Net Core 部署到 IIS位系统中的步骤

图2

继续执行“确认”步骤,安装 Web 服务器角色和服务。 安装 Web 服务器 (IIS) 角色后无需重启服务器/IIS。

二、安装 .NET Core Windows Server 托管捆绑包

在托管系统上安装 .NET Core Windows Server 托管捆绑包。 捆绑包可安装 .NET Core 运行时、.NET Core 库和 ASP.NET Core 模块。 该模块创建 IIS 与 Kestrel 服务器之间的反向代理。 如果系统没有 Internet 连接,请先获取并安装 Microsoft Visual C++ 2015 Redistributable,再安装 .NET Core Windows Server 托管捆绑包。

安装完成以后需要重启系统,或在命令提示符处依次执行 net stop was /y 和 net start w3svc,重启服务,了解系统路径的更改。

三、在 Visual Studio内使用Web 发布系统

本系统发布使用的是vs2017 企业版本,发布系统MmPS,发布成文件系统

1、在vs2017 中选中项目MmPS,右键,点击 发布 选项

ASP .NET CORE MVC 部署Windows 系统上 IIS具体步骤---.Net Core 部署到 IIS位系统中的步骤

2、在 发布 按钮下面 选择 创建新配置文件

ASP .NET CORE MVC 部署Windows 系统上 IIS具体步骤---.Net Core 部署到 IIS位系统中的步骤

3、点击 发布,即可完成发布系统MmPS,发布的项目在MmPS项目的bin\Release\PublishOutput 下的MmPSPublish。

四、web.config的配置

1、web.config 文件

web.config 文件的主要用途是配置 ASP.NET Core 模块。 它可以提供其他 IIS 配置设置。 web.config 的创建、转换和发布 由 .NET Core Web SDK (Microsoft.NET.Sdk.Web) 处理。 SDK 设置在项目文件 <Project Sdk="Microsoft.NET.Sdk.Web"> 的顶部。 要防止 SDK 转换 web.config 文件,请将 <IsTransformWebConfigDisabled> 属性添加到项目文件,并将其设置为 true:

XML

<PropertyGroup>  <IsTransformWebConfigDisabled>true</IsTransformWebConfigDisabled>

</PropertyGroup>

如果项目中有 web.config 文件,则会使用正确 processPath 和参数转换该文件,以便配置 ASP.NET Core 模块,并将该文件移动到已发布的输出。 转换不会修改文件中的 IIS 配置设置。

2、web.config 位置

.NET Core 应用通过 IIS 与 Kestrel 服务器之间的反向代理托管。 为了创建反向代理,web.config 文件必须存在于已部署应用的内容根路径(通常为应用基路径)中,该路径是向 IIS 提供的网站物理路径。 若要使用 Web部署发布多个应用,应用的根路径中需要包含web.config 文件。敏感文件存在于应用的物理路径中,包括子文件夹,如 <assembly_name>.runtimeconfig.json、<assembly_name>.xml(XML 文档注释)和 <assembly_name>.deps.json。 存在 web.config 文件并使用该文件配置站点时,IIS 会阻止提供这些敏感文件。 因此,切勿意外重命名 web.config 文件或将其从部署中删除,这一点非常重要。

3、web.config 内容的配置

<?xml version="1.0" encoding="UTF-8"?>

<configuration>

<system.webServer>

<handlers>

<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />

</handlers>

<aspNetCore processPath="dotnet" arguments=".\MmPS.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" />

<modules runAllManagedModulesForAllRequests="true" />

<directoryBrowse enabled="false" />

</system.webServer>

</configuration>

注:stdoutLogEnabled 是记录日志的,一本设置为true,方便查错。

五、IIS上部署创建 IIS 网站

1、在目标 IIS 系统上,创建一个文件夹,将应用的已发布文件夹和文件包含在其中,如MmPS项目的bin\Release\PublishOutput 下的MmPSPublish。

2、在文件夹中创建一个“日志”文件,用于在启用 stdout 日志记录时保存 stdout 日志。 如果部署应用时有效负载中包含了“日志”文件夹,请跳过此步骤。

3、在 IIS 管理器中创建新网站。 提供网站名称,并将物理路径设置为应用的部署文件夹。 提供“绑定”配置并创建网站。

ASP .NET CORE MVC 部署Windows 系统上 IIS具体步骤---.Net Core 部署到 IIS位系统中的步骤

4、将“应用程序池”设置为“无托管代码”。 ASP.NET Core 在单独的进程中运行,并管理运行时。

ASP .NET CORE MVC 部署Windows 系统上 IIS具体步骤---.Net Core 部署到 IIS位系统中的步骤

5、选中网站,右键 管理网站,浏览,既可运行网站了。

ASP .NET CORE MVC 部署Windows 系统上 IIS具体步骤---.Net Core 部署到 IIS位系统中的步骤

六、由于IIS会随着开机启动而自动启动网站服务,因此无需配置supe开机启动守护进程了。

7、测试

在浏览器中输入IP地址,看看网站是否可以正常运行。

参考链接:https://docs.microsoft.com/zh-cn/aspnet/core/host-and-deploy/iis/index?tabs=aspnetcore2x

上一篇:JAVA中List、Map、Set的区别与选用


下一篇:python+selenium的web自动化测试之一(手工执行)