• C# .NET 5.0 应用部署


    .net core有三种部署方式

    依赖框架部署FDD、独立部署SCD、依赖框架的可执行文件FDE

    1.依赖框架部署FDD==>使用场景较多

    依赖系统已安装的.net core库(运行时,SDK),只包含自己的代码和第三方的依赖项。

    包含.dll文件

    操作步骤:

    第一步,选择程序,右键发布,选择文件发布

    第二步:更多操作/编辑

     

     优点:

    不必预先定义应用运行的目标操作系统,生成的可执行文件和库,是通用的PE文件格式,.net core都可执行,

    部署包比较小,自己的代码和第三方的依赖项、降低磁盘空间、如果运行时更新--只需更新操作系统 

    缺点:

    系统上的.net core版本必须和应用目标的.net core版本一样或高于

    2.独立部署SCD==>单独、独立

    不依赖系统的.net core,自己的代码和第三方依赖项,还包含.net core库,独立,同时还包括一个可执行文件.exe

    优点:

    可以单独控制与应用一起部署的.net core版本

    可以保证应用是能够运行的

    缺点:

    不可移植,必须选择应用的目标系统

    部署包比较大

    注:不同版本.net core对系统有要求,win10一般都支持

    3.依赖框架的可执行文件FDE==>

    针对系统优化,一般应用不多

    注:

    部署到IIS,有两种方式

    1.进程内托管

    进程管理器(IIS、Windows服务):收到请求的时候启用应用,并且在应用发生故障的时候负责重启。

    2.进程外托管

    通过反向代理将请求转发给应用

    注:有什么区别?

    进程内比进程外性能要高,进程外,多了一层转发,环回适配器(网络接口,用于将传出的网络流程返回给同一个计算机,Kestrel,这里也有性能的损失);

    Kestrel功能比较弱,不应该直接把Kestrel暴露出去

    NGINX只有进程外托管,代理服务器

    发布后会生成Web.config

    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
      <location path="." inheritInChildApplications="false">
        <system.webServer>
          <handlers>
            <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
          </handlers>
          <aspNetCore processPath="dotnet" arguments=".\WebApplication1.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="inprocess" />
        </system.webServer>
      </location>
    </configuration>
    

    hostingModel——设置部署到IIS方式:

    1.hostingModel="inprocess"  ——启用IIS

    2.hostingModel="outofprocess"——启用Kestrel

    部署前更改部署IIS方式

    选择项目双击并添加配置项,如下图所示:

     

    博客内容主要用于日常学习记录,内容比较随意,如有问题,还需谅解!!!
  • 相关阅读:
    PHP识别二维码功能,php-zbarcode 安装
    《架构即未来》读后感(三)
    MVC设计模式案例分析
    SOA
    《架构即未来》读后感(二)
    基于网络拓扑及告警的故障根因定位系统实现及算法研究赛题需求分析
    《架构即未来》读后感(一)
    《大型网站技术架构》读后感(二)
    《一线架构师实践指南》读后感(三)
    《大型网站技术架构》读后感(三)
  • 原文地址:https://www.cnblogs.com/YYkun/p/15594276.html
Copyright © 2020-2023  润新知