28 发布与部署之发布到IIS

在前一篇中,我们讨论了如何在ASP.NET Core应用中进行日志管理,从记录日志的基本方法到如何使用不同的日志提供程序来满足各种需求。在本篇中,我们将重点介绍如何将ASP.NET Core应用程序发布到IIS(Internet Information Services),使其能够在Windows服务器上进行管理和访问。在下一篇中,我们会探讨如何使用Docker进行部署。

IIS概述

IIS是微软的一个互联网信息服务组件,它是用于托管网站和Web应用程序的服务器软件。ASP.NET Core应用程序可以很方便地在IIS上进行部署,从而利用其强大的管理和配置功能。

在正式开始之前,请确保你的Windows服务器上已经安装了IIS,并且配置好.NET Core托管捆绑包。你可以从Microsoft官网下载并进行安装。

准备发布

在将ASP.NET Core应用发布到IIS之前,我们需要先准备发布内容。引导类应用通常存储在wwwroot目录中。

  1. 打开命令行(CMD或者PowerShell)。

  2. 导航到你的项目目录,执行以下命令:

    1
    dotnet publish -c Release -o ./publish

    这里,-c Release指定我们发布的是Release版本,而-o参数则决定了生成输出的目录。在这个例子中,我们将发布内容输出到./publish目录。

配置IIS

接下来,我们需要配置IIS来托管我们的应用程序。

  1. 打开IIS管理器

    • 在Windows中搜索“Internet Information Services (IIS) Manager”并打开。
  2. 创建新网站:

    • 在“连接”面板中右键点击“网站”,选择“添加网站”。
    • 填写网站名称、物理路径(指向你刚刚生成的publish目录),以及需要绑定的端口(通常是80或其他可用端口)。
  3. 设置应用程序池:

    • 选择新建的网站,在右侧的“操作”面板中点击“高级设置”。
    • 在“应用程序池”下选择合适的应用程序池,确保使用No Managed Code
  4. 配置请求处理:

    • 根据运行环境,请确保Kestrel能够适当地与IIS进行交互。在你的网站上选择“处理程序映射”,添加aspNetCore处理程序。
  5. 保存并启动网站:

    • 点击右侧“应用”按钮来保存配置,然后启动你新建的网站。

配置Web.config

ASP.NET Core应用程序在IIS运行时需要web.config文件。可以在publish目录中自动生成,通常在执行dotnet publish时会包含此文件。确保内容中有类似于以下配置:

1
2
3
4
5
6
7
8
9
10
11
12
<configuration>
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" />
</handlers>
<aspNetCore processPath="dotnet"
arguments=".\你的应用名.dll"
stdoutLogEnabled="true"
stdoutLogFile=".\logs\stdout"
hostingModel="InProcess" />
</system.webServer>
</configuration>

这里你需要将arguments中的.你的应用名.dll替换为你发布后的应用程序名称。

验证发布成功

完成以上步骤后,打开浏览器,访问刚刚在IIS中配置的URL。如果一切设置正确,你应该能够看到你的ASP.NET Core应用程序的主界面。如果出现错误,请检查IIS日志以及你配置的stdout日志文件,定位并纠正问题。

结论

通过以上步骤,你已经成功将ASP.NET Core应用程序发布到IIS。IIS为你的应用程序提供了强大的功能,确保其在企业级环境中的运行与管理。

在下一篇文章中,我们将转向使用Docker进行部署,探讨如何利用容器化技术为ASP.NET Core应用提供更为便捷和灵活的部署方式。

28 发布与部署之发布到IIS

https://zglg.work/aspnet-core-zero/28/

作者

IT教程网(郭震)

发布于

2024-08-15

更新于

2024-08-16

许可协议

分享转发

交流

更多教程加公众号

更多教程加公众号

加入星球获取PDF

加入星球获取PDF

打卡评论