郭震 AI公众号:郭震AI

28 发布与部署之发布到IIS

发布日期:

分类: ASP.NET

预计阅读: 3 分钟

阅读次数: 0

预计阅读3 分钟
结构重点6 个
图文要点0 张
正文规模1.4k 字

在前一篇中,我们讨论了如何在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. 导航到你的项目目录,执行以下命令:

    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
  • 配置请求处理:

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

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

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

    <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应用提供更为便捷和灵活的部署方式。

    分享文章

    转发到常用平台

    微信/朋友圈可先复制链接

    相关内容

    更多相关文章

    返回栏目

    Reader Messages

    读者留言

    有问题、补充资料或实测结果,可以直接留下。这里不需要登录。

    最多 800 字

    为了防刷,每条留言会做长度、链接数量和提交频率限制。

    0/800

    留言列表

    0
    正在加载留言...