我相信很多人看了其他的贴子,都没有成功部署,因为里面有很多暗坑。接下来博主就一步一步给大家讲明白,带领大家部署

先基本的发布

  1. 操作:右击web项目的《发布》按钮。选文件

配置发布属性

  部署模式,建议选框架依赖,且安装对应的运行时框架,可共享系统级版本的 .NET Core,如果框架依赖部署不行,可以尝试:独立。

  1. 框架依赖

在包含框架依赖的情况下,应用程序会依赖于所选 .NET Core 运行时版本。这意味着运行应用程序之前必须先安装正确的 .NET Core 运行时。框架依赖项是一种更轻量级的发布选项,因为它只包含应用程序本身的文件,而不包括 .NET Core 运行时文件。

  1. 独立发布

在独立发布的情况下,应用程序会包含所需的 .NET Core 运行时文件,这意味着在运行应用程序时不需要安装 .NET Core 运行时。这种发布选项会使应用程序的大小更大,因为它包含了 .NET Core 运行时文件,但它可以使应用程序更易于部署和更可移植,因为它不需要依赖于 .NET Core 运行时的安装。

服务器安装环境

对应的.NET Core Server环境:

  1. 安装.NET Core Windows Server Hosting
  2. 查看模块安装是否成功,安装完成后再模块中会显示AspNetCoreModuleV2模块
  3. 如果没有,可以尝试右侧的操作栏,进行添加/编辑

上传发布文件

把文件上传到服务器上,放到自己指定的目录

在IIS上添加站点

右击=》添加网站

配置网站

配置完确认即可:

    1. 指定网站名称
    2. 指定网站承载程序的路径,也就是我们,第3步骤,的路径
    3. 指定IP+端口

配置应用程序池

CLR版本选:无托管代码

添加web.config

最后一步,在我们程序目录下添加web.config,来告诉IIS我们启动的程序集,参数名:arguments=".\yiri.web.dll" 都是用的相对路径,里面还能拼接参数

<?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=".\yiri.web.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\" hostingModel="inprocess" />
</system.webServer>
</location>
</configuration>

下面给大家解释一下配置含义:

configuration:这是根元素,用于表示整个配置文件。
location:指定特定的目录,其内部的配置应该按照 location 中的规则进行处理。
path:指定 location 的路径,"." 表示当前目录。
inheritInChildApplications:指定在子应用程序中是否应该继承此配置。如果设置为 true,则子应用程序将继承此配置;如果设置为 false,则子应用程序将不会继承此配置。
system.webServer:指定应用程序使用的 IIS 版本。
handlers:指定用于处理请求的处理程序。
add:添加一个处理程序。
name:处理程序的名称。
path:处理程序要处理的请求的 URL 路径。
verb:处理程序要处理的 HTTP 动词。
modules:处理程序要使用的 IIS 模块。
resourceType:处理程序要处理的请求的资源类型。
aspNetCore:指定 ASP.NET Core 应用程序的设置。
processPath:应用程序的主执行文件路径。
arguments:传递给应用程序的命令行参数。
stdoutLogEnabled:是否启用应用程序的标准输出日志记录。
stdoutLogFile:标准输出日志文件的路径。
hostingModel:应用程序的托管模型,可以是 inprocess 或 outofprocess。inprocess 模型指的是将应用程序作为 IIS 工作进程的一部分来运行,outofprocess 模型指的是将应用程序作为独立的进程来运行

验证,大功告成

有疑问和问题的,大家留言

.Net Core 部署IIS的更多相关文章

  1. .Net Core部署IIS

    1.环境安装 https://dotnet.microsoft.com/download/dotnet-core 下载Runtime & Hosting Bundle包安装,iis模块会出现支 ...

  2. ASP.NET Core部署IIS问题总结

    部署准备工作 1.服务器开启添加IIS相关功能 1.1. 点击windows搜索到   “启用或关闭windows功能” 1.2 选择添加IIS的部分功能, 如下图所示 2.进入IIS,添加已经发布的 ...

  3. ASP NET Core 部署 IIS 和发布

    1. 微软官网原文链接: https://docs.microsoft.com/zh-cn/aspnet/core/host-and-deploy/iis/index?view=aspnetcore- ...

  4. ASP.NET Core 部署IIS及 OFFSET 附近有语法错误解决

    今天自己开发了一个订机票的微信公众号,功能基本已经完成,然后想部署到服务器实际测试下.结果部署上去出现各种问题.先安装asp.net core模块,然后发现数据库并不像在开发时一样,执行ef的命令行语 ...

  5. NET Core 部署IIS 碰到得问题解决(内托管模式超时、不允许得请求谓词、直接请求无响应、拒绝服务405)

    web.config 配置说明 典型的web.confg 配置. 注意其中hostingModel模式和requestTimeout 进程内托管需要注意使用单独的应用程序池: 请求超时默认5分钟,出错 ...

  6. win2008server R2 x64 部署.net core到IIS上出现【Failed to load the dll from [C:\Program Files\dotnet\host\fxr\1.0.1\hostfxr.dll], HRESULT: 0x80070057】错误

    win2008server R2 x64 部署.net core到IIS上出现[Failed to load the dll from [C:\Program Files\dotnet\host\fx ...

  7. dotnet core部署方式两则:CLI、IIS

    最近在使用dotnet core研究整个开发过程,使用下面两种方式部署: 一,使用 dotnet run 命令运行 在项目路径,shift+右键,选择 “在此处打开命令窗口”,在CMD窗口中运行“do ...

  8. .net core 使用IIS作为宿主Web服务器,部署常见问题

    ASP.NET Core 使用IIS作为Web服务器,部署在IIS上 所做的步骤部署完毕后,启动网站 出现 An error occurred while starting the applicati ...

  9. asp.net core 2.1 部署IIS(win10/win7)

    asp.net core 2.1 部署IIS(win10/win7) 概述 与ASP.NET时代不同,ASP.NET Core不再是由IIS工作进程(w3wp.exe)托管,而是使用自托管Web服务器 ...

  10. .net core部署在iis上

    部署在Windows Server 2008 R2上,一直安装失败,网上找的资料一直无法解决问题,后来找到了官方的文档, 原来是要安装sp1,大概2g左右,同时也要安装Microsoft Visual ...

随机推荐

  1. 单链表之删除头结点,查找等于定值x的结点数,单链表的逆置

    /* * @Author: 一届书生 * @Date: 2020-03-08 09:52:27 * @LastEditTime: 2020-03-08 13:58:30 */ #include < ...

  2. 代码写错分支,如何提交到另一个分支上【Git把当前分支上的修改转移到另一个分支上】

    Git把当前分支上的修改转移到另一个分支上: 1.先在当前分支commit 2.获取本次commit的ID(会获取到一个长id如:ae71cfaf9e865682e2c008aa867e8fbef7a ...

  3. 【NOIP2013模拟联考8】匹配(match) 题解

    B 组都说看不懂--我也解释不清啊--只能写这么详细了 其实就是道板题 省流:f[i][s][j]表示字符串长度i,匹配情况s,ac自动机节点j Problem Description 给定k个字符串 ...

  4. 暑期集训 Day9 —— 模拟赛复盘

    ${\color{Green} \mathrm{Problem\ 1 :大河的序列 }} $ 巨思维... 其实只需要输出序列 max 即可. 死因: \({\tiny 去你的}\) 快速幂 int ...

  5. PolarDB-X 如何做分布式数据库热点分析

    简介: PolarDB-X 是一款计算存储分离的云原生分布式数据库,在PolarDB-X 2.0的AUTO模式下,数据库会按照表的主键自动Hash分区,将数据均匀的分布到各个数据节点中,最理想的情况是 ...

  6. Flink 作为现代数据仓库的统一引擎:Hive 集成生产就绪!

    在2020年,你的数据仓库和基础设施需要满足哪些需求? 我们总结了几下几点: 首先,当下的企业正快速转向更实时化的模式,这要求企业具备对线上流式数据进行低延迟处理的能力,以满足实时(real-time ...

  7. 一种命令行解析的新思路(Go 语言描述)

    ​简介: 本文通过打破大家对命令行的固有印象,对命令行的概念解构后重新梳理,开发出一种功能强大但使用极为简单的命令行解析方法.这种方法支持任意多的子命令,支持可选和必选参数,对可选参数可提供默认值,支 ...

  8. 通过虚拟机镜像部署zabbix

    前言 由于基础镜像的缘故,zabbix部署过程中很可能出现各种缺少依赖包的情况,如果环境中又无法连接互联网,系统部署会非常麻烦.为此zabbix官方提供了虚拟机镜像,导入后可以直接在平台上拉起虚拟机, ...

  9. 15、数据库加固-redis 加固

    1.禁止网络访问 Redis 服务 更改配置文件,使服务监听本地回环地址 修改 redis 配置文件:vi 安装路径/redis.conf 确保:bind 127.0.0.1(::1:表示 ipv6 ...

  10. C语言:输入一串字符串,统计字符串中有多少个数字

    gets函数会在输入完字符后自动补上一个\0,所以用这个特性可以计算出字符串是否结束. 因为数字在字符中对应的ascii码就是0~9,只要遇到小于9的字符就是数字,所以计数器加一 #include&l ...